Stepper motor shield

I commenti agli articoli e le email spesso chiedono se esiste una stepper motor shield a cui collegare due motori passo-passo.

Stepper motor shield

La richiesta che più spesso mi è arrivata ultimamente è di poter controllare in vari modi due motori passo-passo, o stepper, in pratica l’esigenza è di controllare un sistema di assi cartesiani con un joystick.

Ho quindi deciso di cercare, acquistare e testare una scheda che potesse svolgere tale compito per rispondere ai Francesco, Antonio, Marco, Luigi ecc.. che negli ultimi mesi si sono avviciati ad arduino abbatsanza da reputarlo utile per il loro progetto ma non possiedono le conoscenze necessarie a realizzarle con una scheda autocostruita.

Nella ricerca di una shield che potesse rispondere all’esigenza ho scelto la dual bipolar stepper motor shield che ho acquistato per i miei primi esperimenti.

Sul sito robotics-3d.com ho trovato anche ua serie di link interessanti alla wiki che da sempre DFrobot realizza per i suoi prodotti.

Schema collegamenti Dual Stepper motor shield

Nella WiKi di cui trovi il link nel paragrafo precedente trovi anche lo schema seguente:

Dual Stepper motor shield driver

Fonte: DFRobot.com WiKi

in cui è rappresentata la dual stepper motor shield collegata a due motori stepper e sono evidenziati pin di collegamento che la shield non utilizza per il suo regolare funzionamento.

In particolare puoi nota:

i due box in blu che contrassegnano gli switch con cui puoi definire i microstep per ciascun motore;

il box, in arancio, in alto al centro che contrassega i pin digitali liberi: 0,1,2,3,8,9,10,11,12,13;

il box, sempre arancio, in basso che contrassegna i pin analogici, non usati dalla shield: A0-A5;

dalla posizione e serigrafia dei pin ti rendi rapidamente conto che i pin usati saranno: 4,5,6,7 e per conoscere come questi sono utilizzati dalla shield puoi consultare lo sketch di esempio che per questo primo articolo ho deciso di utilizzare.

Configura i microstep 

Hai letto che la stepper motor shield è dotata di due selettori, un per ciascun motore, che ti permette di selezionare i microstep.

In passato ed in altri articoli ho già decritto cosa cono e dimostrato come funzionano, ricorderai forse il video in cui uno stepper compiva il medesimo numero di passi ma con microstep differenti ottenendo coperture circolari pari alla differenza di step impostata:

con questa shield puoi definire gli step ed i microstep usando la tabella rilasciata dal produttore:

Microstep driver

Fonte: DFRobot.com WiKi

Lo sketch test della stepper motor shield

Lo sketch che useremo come esempio per testare la stepper motor shield è preso direttamente dal sito del produttore:

/*
This sample code is for testing the 2 stepper motors 
The rotation velocity can be adjusted by the code switch 
Microcontroller: Arduino UNO  
*/
int M1dirpin = 4;
int M1steppin = 5;
int M2dirpin = 7;
int M2steppin = 6;
void setup()
{
  pinMode(M1dirpin,OUTPUT);
  pinMode(M1steppin,OUTPUT);
  pinMode(M2dirpin,OUTPUT);
  pinMode(M2steppin,OUTPUT);
}
void loop()
{
  int j;
  delayMicroseconds(2);
  digitalWrite(M1dirpin,LOW);
  digitalWrite(M2dirpin,LOW);
  for(j=0;j<=5000;j++){
    digitalWrite(M1steppin,LOW);
    digitalWrite(M2steppin,LOW);
    delayMicroseconds(2);
    digitalWrite(M1steppin,HIGH);
    digitalWrite(M2steppin,HIGH);
    delay(1);
  }
}

e rappresenta un ottimo punto di partenza su cui sviluppare il tuo progetto aggiungendovi, ad esempio, dei pulsanti o un joystick.

le linee 06-09: definiscono i pin arduino che sono fisicamente connessi ai driver dei motori e che ti consentono di controllare i motori passo-passo;

linee 12-15: rappresentano l’impostazione di ciascun pin come OUTPUT;

linee 21-22: imposta a LOW il valore trasferito ai pin di direzione, 4 per il motore 1 e 7 per il motore 2;

linea 23: definisci un ciclo da 0 a 5000 step;

linee 24-25: porta i pin stepper dei due motori a LOW;

linea 26: imposta una pausa di 2 microsecondi;

linee 27-28: porta i pin di step a HIGH;

linea 29: imposta una pausa di 1 millisecondo;

Eseguendo questo sketch otterrai un movimento continuo di entrambi i motori in una direzione.

Nei prossimi articoli proverai a far ruotare il motore in direzioni differenti usando i pulsanti e, sopratutto, leggerai come collegare dei pulsanti e prendere il controllo del movimento con questi ultimi.

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

Permanent link to this article: https://www.mauroalfieri.it/elettronica/stepper-motor-shield.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.