Pololu a4983 driver per motori passo-passo

Il driver della Pololu a4983 è un driver per motori passo-passo semplice da utilizzare e molto preciso, l’integrato a4983 è utilizzato anche per la realizzazione di altri driver non prodotti dalla pololu ed il suo funzionamento non differisce da questo articolo.

pololu a4983 driver per motori passo-passo bipolari

Ho trovato in internet due versioni di questo driver entrambe prodotte dalla Pololu una con regolatore di tensione ed una senza il regolatore di tensione entrambe le versioni sono state sostituite da una scheda identica basata dul regolatore a4988.

Poiché io ho acquistato la versione con l’a4983 ti mostro come realizzarci i tuoi progetti, ma puoi sostituire il driver con l’a4988 avendo la Pololu mantenuto la medesima piedinatura per entrambe le schede.

Il Pololu a4983 può pilotare motori bipolari con una corrente massima di 2A, per raggiungere potenze tali ti consiglio di dotare il driver di una aletta di raffreddamento adeguata per evitare che fonda.

Il circuito per testare il driver pololu a4983

Per eseguire i primi test devi saldare degli strip alla basetta per poi collegarla alla breadboard o sul tuo progetto finale.

Sul sito del produttore puoi trovare sia la piedinatura della scheda:

pololu a4983 retro

sia uno schema base di connessione dei pin:

pololu a4983 schema base

ti suggerisco di osservarli bene prima di procedere al montaggio in quanto la serigrafia dei circuiti è inserita dal lato opposto ai componenti per cui una volta montato sulla breadboard:

pololu a4983 montato

non vedi più come sono disposti i pin, ed inoltre devi ragionare a specchio rispetto alla prima foto.

Per eseguire i primi test puoi utilizzare questo schema di collegamento al motore passo-passo ed ad arduino:

schema pololu a4983 rotazioni

nello schema è rappresentato il driver senza regolatore di carica, per questo ti mostro anche lo foto del driver montato sulla breadboard anche con i pulsanti a cui l’ho collegato:

pololu a4983 breadboard

per questo test ti bastano solo i primi due pulsanti connessi rispettivamente al pin 8 ed al pin 7 di arduino, gli altri collegamenti da arduino verso i pin MS1,2 e 3 del driver Pololu a4983 e dai 3 pulsanti ai pin 4,5 e 6 di arduino puoi ometterli in questo primo test, ti serviranno per attuare le riduzioni di step con questo driver, te le mostrerò in un prossimo articolo.

Lo sketch di test per il pololu a4983

E’ giunto il momento di caricare su arduino lo sketch di test per provare il funzionamento del driver pololu a4983:

int DIR = 2;
int STEP = 3;

int Rotate = 7;
int pinGo = 8;

void setup() {
  Serial.begin(9600);
  pinMode(DIR, OUTPUT);
  pinMode(STEP, OUTPUT);

  pinMode( pinGo,INPUT );
  pinMode( Rotate,INPUT );
}

void loop()
{
    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);
}

il motore bipolare che ho utilizzato è un 200 passi = 1,8° per passo, questa informazione è necessaria per comprendere il ciclo for presente alla linea 22 che si attiva alla pressione del pulsante connesso al pin Rotate (pin 7 di arduino) e fa compiere al motore passo passo un giro completo ossia 200 step.

Lo sketch è molto semplice in quanto tutto il lavoro di spostamento lo esegue la funzione stepGo() definita alle linee 30-35: in pratica ogni volta che nella funzione loop() viene invocata la stepGo() arduino genera un segnale HIGH e LOW a distanza di 100 millisecondi sul pin 3 ( STEP ) e indica al driver pololu a4983 di spostare il motore di un passo in avanti.

Il verso di rotazione è stabilito dalla presenza sul pin 2 ( DIR ) di un segnale HIGH che hai definito alla linea 18 dello sketch.

Quindi premendo il pulsante ROTATE connesso al pin 7 il motore esegue 200 passi = 360° = un giro completo, premendo il pulsante pinGo connesso al pin 8 il motore esegue un solo passo ad ogni pressione.

Ho realizzato un video per mostrarti come funziona questo sketch:

Buon divertimento !!!

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

Permanent link to this article: https://www.mauroalfieri.it/elettronica/pololu-a4983-driver-motori-passo-passo.html

37 pings

Skip to comment form

  1. […] Pololu a4983 driver per motori passo-passo » […]

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.