I motori sono senza dubbio delle macchine interessanti, perché permettono di muovere oggetti inizialmente fermi e non più utili di un ferma porta.
Proviamo a pensare un’automobile telecomandata, al cancello automatico di casa, alle nostre bellissime stampanti 3D, ai piccoli robot e così via.
E’ davvero un mondo affascinante ma… Davvero molto ampio!

Nei nostri corsi base, trattiamo per lo più i motori Servo, perchè questi si prestano ad essere molto versatili come utilizzo hobbistico.
Arduino IDE offre già una libreria per gestirli ed é comodo pilotarli. Il loro limite sono purtroppo la velocità non regolabile, il posizionamento troppo impreciso e una coppia troppo bassa per poter sollevare ad esempio una gamba d’acciaio.

Per risolvere queste rogne, una valida alternativa sono i motori passo-passo.

I motori passo-passo (o Stepper Motor) sono i motori più usati nell’automazione industriale. Sono ottimi per il posizionamento e per decidere una velocità non troppo elevata.
C’è molta confusione in merito alle varie tipologie disponibili e in questa guida vorrei riassumerli in maniera semplice ma esaustiva.

motore_passopasso

Dentro il nostro motore passo-passo troviamo 2 bobine (polo positivo e negativo), cioé delle spire di metallo che assorbono corrente come delle grosse resistenze che generano un campo elettromagnetico; queste formano il cosiddetto statore (la parte ferma) e l’albero al centro é il rotore (la parte che ruota).
In base a come vengono alimentate le bobine, il motore effettua una rotazione di tot gradi definiti, chiamata passo; da qui il nome del motore.
E’ facile comprendere che, un passo forma tot gradi e per effettuare un giro completo avrò bisogno di un certo numero di passi!
Ma quanti sono questi passi? E quant’è un passo in gradi? Dipende dal motore che avete acquistato! 😀

A loro volta, i motori passo-passo si dividono in due famiglie: unipolari e bipolari.

Gli unipolari hanno una massa comune e un numero di cavi dispari. Semplicemente basterà dare corrente in maniera alternata, anche per quanto riguarda il verso di rotazione.

I bipolari richiedono che ogni bobina sia alimentata per conto proprio, hanno bisogno di integrati in grado di invertire la corrente per il verso di rotazione (chiamati H-Bridge).

Entrambi i tipi hanno vantaggi e svantaggi. I più utilizzati sono i bipolari, soprattutto per le stampanti 3D.

Esistono motori passo-passo con un numero di cavi superiori a 5, ma la logica é sempre la stessa e la differenza é il poter percorrere passi molto più piccoli.
Per riassumere:

  • I motori passo-passo compiono passi, i quali determinato una rotazione in gradi
  • Sono ottimi per posizionare e anche per la velocità se non andiamo troppo veloci
  • Per compiere un passo bisogna alimentare in maniera alternata e ordinata le bobine
  • Si dividono in unipolari e bipolari
  • Unipolari hanno massa comune e sono facili da pilotare, costano tanto e richiedono quindi una programmazione manuale
  • Bipolari hanno le bobine separate e bisogna alimentarle una alla volta. Per invertire il verso di rotazione serve un integrato chiamato H-Bridge
  • In genere le bobine sono 2

I passi del motore vengono suddivisi in Microstepping (passo molto piccolo), Half-Step (mezzo passo), Full Step in una fase (passo normale), Full Step in due fasi (quindi un passo normale più veloce). Per saperne di più, in questo link trovate delle spiegazioni più esaustive.

La libreria Stepper di Arduino, ci aiuta a comandare all’incirca tutti motori passo-passo. Nei kit si trova spesso questo tipo di motore:

Kit del motore passo-passo per Arduino

Kit del motore passo-passo per Arduino

Si tratta del motore bipolare 28BYJ-48. Montiamo subito il nostro circuito.

Circuito Motore passo-passo 28BYJ-48

Circuito Motore passo-passo
28BYJ-48

Il codice lo prendiamo dal nostro Arduino IDE su File->Esempi->Stepper->Stepper_oneStepAtTime.
Nota: i pin sono configurati esattamente come in figura.

Invito a leggere la documentazione riguardo la libreria Stepper ufficiale.
Nel caso di un Motore Unipolare la faccenda si complica un po’. Serve obbligatoriamente un integrato chiamato ULN2003 (o ULN2004) e il circuito é questo:

Motore passo-passo Unipolare generico

Motore passo-passo Unipolare generico

Ho preferito utilizzare un’alimentazione esterna per non complicare troppo il circuito.
La buona notizia é che il codice non cambia rispetto a prima! Fantastico! 🙂
Per oggi é tutto, ci sentiamo alla prossima!