Il driver A4988
L’integrato A4988 (datasheet) di Allegro MicroSystems è un driver in grado di controllare motori passo passo bipolari. La massima tensione di alimentazione per i motori è di 35V, mentre la massima corrente erogabile è 2A.
L’integrato viene fornito in package QFN, difficile da saldare. Per questo su Internet sono disponibili diverse breakout boards, di cui la più utilizzata è sicuramente quella di Pololu, che anch’io ho scelto per questo tutorial:
Controllo S&D
L’integrato A4988 offre un controllo di tipo S&D (step & direction):
- ad ogni impulso sul PIN STEP, il motore esegue un passo di rotazione;
- la direzione della rotazione è determinata dallo stato (LOW o HIGH) del PIN DIR.
Per interfacciare tale integrato ad Arduino sarà quindi sufficiente collegare i due PIN a due PIN digitali di Arduino; possiamo prendere come riferimento lo schema riportato sul sito di Pololu:
Microstepping
Un motore passo passo ha un determinato numero di passi / giro; ad esempio la maggior parte dei motori utilizzati per stampanti 3d effettua un giro ogni 200 passi.
E’ possibile aumentare il numero di passi con la tecnica del microstepping che, alimentando contemporaneamente le diverse fasi del motore, consente rotazioni intermedie tra un passo e l’altro.
Il chip A4988 supporta microstepping a mezzo, un quarto, un ottavo e un sedicesimo di passo. La configurazione avviene modificando lo stato logico dei PIN MS1, MS2 e MS3 secondo la seguente tabella:
I tre PIN hanno delle resistenze di pull-down: lasciandoli non connessi viene quindi attivata la modalità a passo intero.
Regolazione corrente
Ogni motore ha una massima corrente di alimentazione e una tensione nominale che impone tale corrente. E’ possibile alimentare il motore con una tensione più elevata (ad esempio per aumentare la velocità di step), a patto di non superare la corrente massima. Il driver di Pololu presenta un potenziometro per regolare la corrente; ecco un breve filmato che illustra come operare la regolazione:
Nella prossima parte di questo tutorial, inizieremo a scrivere uno sketch per muovere il nostro motore passo-passo…