CONTENUTO ►
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.
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
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:
- al posto delle porte 8,9,10,11 è possibile utilizzare qualsiasi porta digitale;
- 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
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:
- 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.
Lascia un commento