Nota

Ciao, benvenuto nella community di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Esplora più a fondo Raspberry Pi, Arduino ed ESP32 con altri appassionati.

Perché unirsi a noi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche grazie al supporto della nostra community e del nostro team.

  • Impara e condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni l’accesso anticipato a nuovi annunci di prodotto e anteprime.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e omaggi: Partecipa a giveaway e promozioni durante le festività.

👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!

2.14 Motore Passo-Passo

Panoramica

In questa lezione imparerai a conoscere il motore passo-passo.

Componenti necessari

../_images/list_2.14.png

Circuito Fritzing

Il modulo di alimentazione viene utilizzato per alimentare il motore passo-passo. Collega il GND della scheda Mega 2560 e il GND dell’ULN2003 al catodo della breadboard, e collega il VCC dell’ULN2003 all’uscita 5V del modulo di alimentazione.

Il cablaggio tra ULN2003 e Mega2560 è mostrato di seguito:

../_images/image149.png

Schema elettrico

../_images/image462.png

Codice

Nota

  • Puoi aprire direttamente il file 2.14_stepperMotor.ino nella cartella sunfounder_vincent_kit_for_arduino\code\2.14_stepperMotor.

  • Oppure copia questo codice nell’IDE di Arduino.

Dopo aver caricato il codice sulla scheda Mega2560, potrai osservare il motore passo-passo ruotare di un giro con un intervallo di un secondo, completando ogni giro in 3,75 secondi.

Analisi del codice

Utilizzando la libreria Stepper.h, puoi controllare facilmente il motore passo-passo.

#include <Stepper.h>

Funzioni della libreria:

Stepper(steps, pin1, pin2, pin3, pin4)

Crea una nuova istanza della classe Stepper per rappresentare un particolare motore passo-passo collegato alla tua scheda Arduino.

  • steps: il numero di passi necessari per completare una rivoluzione del motore. Se il motore indica il numero di gradi per passo, dividi 360 per quel valore per ottenere il numero di passi (es. 360 / 3,6 = 100 passi). (int)

Nota

Ogni giro completo del motore passo-passo richiede 2048 passi.

setSpeed(rpm)

Imposta la velocità del motore in rotazioni per minuto. Questa funzione non fa ruotare il motore, ma definisce la velocità a cui ruoterà quando viene chiamata la funzione step().

  • rpm: la velocità di rotazione del motore in rotazioni per minuto - deve essere un numero positivo. (long)

Nota

Il motore passo-passo che utilizziamo qui può ruotare al massimo 17 giri al minuto.

step(steps)

Fa ruotare il motore di un numero specifico di passi, a una velocità determinata dall’ultima chiamata a setSpeed().

Questa funzione è bloccante; cioè, aspetta che il motore termini il movimento prima di passare il controllo alla riga successiva del tuo sketch. Ad esempio, se imposti la velocità a 1 RPM e chiami step(2048) su un motore da 2048 passi, questa funzione impiegherà un minuto intero per completare. Per un controllo migliore, mantieni la velocità alta e utilizza pochi passi per ogni chiamata a step().

  • steps: il numero di passi per far ruotare il motore - positivo per una direzione, negativo per l’altra. (int)

Immagine del risultato

../_images/image151.jpeg