Collegamento e pilotare del motore passo-passo Arduino

Il motore passo-passo è progettato per posizionare o spostare con precisione un oggetto mediante un numero specifico di passi dell’albero. La scheda Arduino può controllare il motore passo-passo utilizzando un driver e le librerie stepper.h o accelstepper.h. Consideriamo il principio di funzionamento e lo schema di collegamento del motore passo-passo ad Arduino Uno, e comprendiamo anche il programma per il controllo del motore passo-passo.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • motore passo-passo 28BYJ-48
  • modulo UNL2003
  • cavi di collegamento

Motore passo-passo 28BYJ-48 datasheet, pinout

A seconda del progetto, si utilizzano tre tipi di motori passo-passo (stepper motor): a magnete permanente, a magnete variabile e ibridi. Con i motori a magneti permanenti, il numero di passi per giro dell’albero può arrivare a 48, cioè un passo corrisponde a una rotazione dell’albero di 7,5°. I motori ibridi consentono 400 passi per giro (angolo di passo di 0,9°). Contando il numero di passi effettuati, è possibile determinare l’angolo di rotazione del rotore.

Modulo motore passo-passo 28BYJ-48 pinout, datasheet
Modulo motore passo-passo 28BYJ-48 pinout, datasheet

Caratteristiche del stepper motor 28BYJ-48 Arduino:

  • Tensione di alimentazione: 5 V
  • Resistenza: 21 ohm
  • Corrente: 25 mA
  • Riduzione: 1/64
  • Numero di passi per giro: 64 (riduzione di 4096 all’uscita dell’asse)
  • Interasse di montaggio: 35 mm

Il motore 28BYJ-48 con modulo UNL2003 è un motore sincrono senza commutatore. Come tutti i motori, converte l’energia elettrica in energia meccanica. A differenza di un motore dc, l’albero di un motore passo-passo compie movimenti discreti, cioè non ruota in modo continuo, ma a passi. Ogni passo del rotore rappresenta una parte di un giro completo. Contando il numero di passi effettuati, è possibile determinare l’angolo di rotazione del rotore.

Collegamento motore passo-passo 28BYJ-48 Arduino

Come usare e pilotare stepper motor 28BYJ-48 Arduino
Come usare e pilotare stepper motor 28BYJ-48 Arduino

Il motore passo-passo viene controllato tramite Arduino fornendo impulsi agli avvolgimenti del motore in una determinata sequenza. Per facilitare il controllo del motore passo-passo sono state create le librerie speciali stepper.h e accelstepper.h, ma è possibile far ruotare l’albero del motore senza le librerie standard. Collegare il stepper motor 28BYJ-48 al microcontrollore Arduino come nello schema precedente e caricare il seguente programma.

Programma Arduino per controllare motore passo-passo 28BYJ-48




#define in1 8
#define in2 9
#define in3 10
#define in4 11

int dl = 20;

void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}

void loop() {
  digitalWrite(in1, HIGH); 
  digitalWrite(in2, LOW); 
  digitalWrite(in3, LOW); 
  digitalWrite(in4, HIGH);
  delay(dl);

  digitalWrite(in1, HIGH); 
  digitalWrite(in2, HIGH); 
  digitalWrite(in3, LOW); 
  digitalWrite(in4, LOW);
  delay(dl);

  digitalWrite(in1, LOW); 
  digitalWrite(in2, HIGH); 
  digitalWrite(in3, HIGH); 
  digitalWrite(in4, LOW);
  delay(dl);

  digitalWrite(in1, LOW); 
  digitalWrite(in2, LOW); 
  digitalWrite(in3, HIGH); 
  digitalWrite(in4, HIGH);
  delay(dl);
}

Spiegazione del codice per controllare servomotore Arduino:



  1. al posto delle porte 8,9,10,11 è possibile utilizzare qualsiasi porta digitale;
  2. tempo di ritardo in millisecondi int dl = 20; può essere modificato, più basso è il ritardo nel programma, più veloce sarà la rotazione dell’albero motore.

Controllo del motore passo-passo con la libreria Stepper.h

Controllo del stepper motor 28BYJ-48 con la libreria Stepper.h
Controllo del stepper motor 28BYJ-48 con la libreria Stepper.h

Consideriamo il controllo del motore utilizzando la libreria Stepper.h, che implementa molti comandi e funzioni. Lo schema di collegamento del motore rimane invariato. Le caratteristiche principali del motore 28byj-48: alimentazione 5 o 12 volt, motore a 4 fasi, angolo di passo 5,625°. Le porte del driver IN1 – IN4 sono collegate a qualsiasi pin digitale di Arduino. I LED sul modulo sono utilizzati per indicare che le bobine del motore sono accese.

Programma Arduino per 28BYJ-48 con la libreria Stepper.h

#include "Stepper.h"

const int stepsPerRevolution = 200;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  myStepper.setSpeed(60);
}

void loop() {
  myStepper.step(stepsPerRevolution);
  delay(500);

  myStepper.step(-stepsPerRevolution);
  delay(500);

  myStepper.step(200);
  delay(2000);

  myStepper.step(-300);
  delay(2000);
}

Spiegazione del codice per 28BYJ-48 con la libreria Stepper.h:

  1. la libreria Stepper.h ha una funzionalità ridotta, quindi è adatta solo per testare il motore passo-passo e verificare la connessione del driver.

Conclusione. Il motore passo-passo 28byj-48 è ora un azionamento ideale per stampanti 3D, macchine CNC e altre apparecchiature industriali. Il collegamento tra il motore passo-passo a 4 fili (28byj 48 Arduino) e il modulo di controllo è semplice, poiché è presente un connettore a slot per instradare il collegamento tra i due dispositivi. Il modulo Arduino UNL2003 è dotato di quattro diodi che indicano quale bobina è attiva in qualsiasi momento.

Rate this post


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

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