DRV8825: il driver per motori passo-passo

drv8825

Un driver del motore È un circuito che consente di controllare i motori in corrente continua in modo molto semplice. Questi controller consentono di gestire le tensioni e le correnti a cui viene alimentato il motore per controllare la velocità di rotazione. Inoltre, servono come metodo di protezione per evitare che l'elettronica dei motori venga danneggiata limitando la corrente che circola (triturazione).

Pertanto, se hai intenzione di creare un progetto fai-da-te, lo farà includere uno o più motori CCQualunque sia il tipo, e in particolare per i motori passo-passo, dovresti usare un driver del motore per semplificarti le cose. Sebbene ci siano metodi per farlo in modo diverso, usando i transistor, i moduli con driver del motore sono molto più pratici e diretti. In effetti, questi driver si affidano ai transistor per fare il loro lavoro ...

Perché ho bisogno di un driver?

El il driver è necessario per il controllo del motore, come ho detto prima. Inoltre, devi tenere presente che la scheda Arduino e il suo microcontrollore non sono in grado di alimentare il movimento del motore. È progettato semplicemente per segnali digitali, ma non funzionerebbe bene quando è necessario fornire un po 'più di potenza come quella richiesta da questi tipi di motori. Ecco perché devi avere questo elemento tra la scheda Arduino ei motori.

Tipi di driver

Sappiate che ci sono diversi tipi di driver a seconda del tipo di motore a cui sono destinati. Questo è importante per sapere come differenziarlo per ottenere il driver giusto:

  • Driver per motore unipolare: sono i più semplici da controllare, poiché la corrente che scorre attraverso le bobine va sempre nella stessa direzione. Il lavoro del conducente deve semplicemente sapere quali bobine deve attivare a ogni impulso. Un esempio di questo tipo di controller sarebbe l'ULN2003A.
  • Driver per motore bipolare: questi motori sono più complessi e lo sono anche i loro driver, come il DRV8825. In questo caso possono essere attivati ​​con corrente in un senso o nell'altro (nord-sud e sud-nord). È il driver che decide la direzione per cambiare la polarità del campo magnetico che si produce all'interno del motore. Il circuito più noto per invertire la direzione è chiamato Punete H, che consente al motore di ruotare in entrambe le direzioni. Quel ponte H è composto da diversi transistor.

Questi ultimi sono diventati ancora più popolari negli ultimi anni perché sono inclusi anche in alcuni Stampanti 3D controllare la stampa con la testina. È possibile che se intendi montare una stampante 3D o se ne hai già una, ti servirà uno di questi per poter controllare il motore o sostituire questa parte se è stata danneggiata. Sono anche utilizzati per robot, plotter, stampanti convenzionali, scanner, veicoli elettronici e un lungo ecc.

DRV8825

Esistono diversi modelli di driver sul mercato. Ad esempio, lui DRV8825 è una versione aggiornata dell'A4988. Questo driver necessita solo di due uscite digitali dal microcontrollore per essere in grado di gestire correttamente il motore. Solo così puoi controllare la direzione e il passo del motore con questi due segnali. Cioè, questo consente di fare un passo, o che il motore ruota passo dopo passo invece di ruotare rapidamente come altri motori semplici.

DRV8825 consente di lavorare con tensioni superiori a quelle utilizzate dall'A4988, da allora può raggiungere 45v invece del 35v dell'A4988. Può anche gestire correnti più elevate, in particolare 2.5 A, che è mezzo amplificatore in più rispetto all'A4988. Oltre a tutto ciò, questo nuovo driver aggiunge una nuova modalità microstepping 1/32 (1/16 per l'A4988) per poter spostare l'albero del motore passo-passo in modo più preciso.

altrimenti sono abbastanza simili. Ad esempio, entrambi possono raggiungere temperature di esercizio elevate senza problemi. Pertanto, se li accompagni con un piccolo dissipatore, molto meglio (molti modelli lo incorporano già), soprattutto se lo userai sopra 1A.

Se l'incapsulamento raggiunge temperature elevate, per precauzione è opportuno spegnerlo. Sarebbe bello consultare il schede tecniche del modello che hai acquistato e vedi la temperatura massima alla quale può funzionare. L'aggiunta di un sensore di temperatura accanto al driver per monitorare la temperatura e utilizzare un circuito che interrompe il funzionamento se raggiunge tale temperatura limite sarebbe altamente raccomandato ...

Il DRV8825 ha protezione contro i problemi di sovracorrente, cortocircuito, sovratensione e sovratemperatura. Pertanto, sono dispositivi molto affidabili e resistenti. E tutto per un prezzo abbastanza contenuto in negozi specializzati dove puoi trovare questo componente.

micropasso

micropasso

Con la tecnica di È possibile ottenere gradini di microstepping inferiori al gradino nominale del motore passo-passo che utilizzerai. Cioè, dividere la svolta in più porzioni per poter avanzare più lentamente o più precisamente. Per fare ciò, la corrente applicata a ciascuna bobina viene variata emulando un valore analogico con i segnali digitali disponibili. Se si ottengono segnali analogici sinusoidali perfetti e sfasati di 90º tra loro, si otterrebbe la rotazione desiderata.

Ma ovviamente non puoi ricevere quel segnale analogico, perché lavoriamo con segnali digitali. Ecco perché questi dovrebbero essere trattati per cercare di simulare il segnale analogico attraverso piccoli salti nel segnale elettrico. La risoluzione del motore dipenderà da questo: 1/4, 1/8, 1/16, 1/32, ...

Per selezionare la risoluzione desiderata è necessario controllare i pin M0, M1 e M2 del modulo. I pin sono collegati a massa o GND da resistori pull-up, quindi se non è collegato nulla saranno sempre LOW o 0. Per modificare questo valore, dovrai forzare un valore di 1 o HIGH. Il valori di M0, M1, M2 rispettivamente quelli che devono essere secondo la delibera, sono:

  • Passo completo: basso, basso, basso
  • 1/2: Alto, Basso, Basso
  • 1/4: Basso, Alto, Basso
  • 1/8: Alto, Alto, Basso
  • 1/16: Basso, Basso, Alto
  • 1/32: tutti gli altri valori possibili

Pinout

Pinout DRV8825

El Il driver DRV8825 ha un semplice schema di connessione, anche se avere abbastanza pin può essere un po 'complicato per i meno esperti. Puoi vederlo nell'immagine sopra, ma assicurati di posizionare correttamente il modulo quando guardi i pin, poiché è comune commettere errori e prenderlo invertito, il che si traduce in una cattiva connessione e persino danni.

Como raccomandazione per collegare il driver, si consiglia di regolare e calibrare correttamente il dispositivo seguendo i passaggi seguenti per un corretto funzionamento e per non danneggiarlo:

  1. Collega il driver alla tensione senza motore collegato o microstepping.
  2. Misura con un multimetro la tensione che esiste tra GND e il potenziometro.
  3. Regolare il potenziometro finché non è il valore corretto.
  4. Ora puoi spegnere l'alimentazione.
  5. In questo momento sì che puoi collegare il motore. E ricollegare l'alimentazione al subacqueo.
  6. Con il multimetro misurare l'intensità tra il conducente e il motore passo dopo passo e puoi effettuare una regolazione più precisa del potenziometro.
  7. Spegnere di nuovo l'alimentazione e ora puoi collegarlo ad Arduino.

Se non intendi utilizzare microstepping è possibile regolare l'intensità del regolatore fino al 100% della corrente nominale del motore. Ma se hai intenzione di usarlo, devi ridurre questo limite, poiché il valore che poi circolerà sarà superiore a quello misurato ...

l298n
Articolo correlato:
L298N: modulo per il controllo dei motori per Arduino

Integrazione con Arduino

Schema ARduino e DRV8825

Per utilizzare il driver DRV8825 con Arduino, la connessione è abbastanza semplice come puoi vedere in alto in questo schema elettronico di Fritzing:

  • VMOT: connesso per alimentare fino a 45v massimo.
  • GND: terra (motore)
  • SLP: a 5v
  • RST: fino a 5v
  • GND: a massa (logica)
  • STP: al pin 3 di Arduino
  • DIR: al pin 2 di Arduino
  • A1, A2, B1, B2: a stepper (motore)

Una volta collegato e regolato correttamente, anche il codice per il suo controllo è semplice. Ad esempio, per controllare un motore passo-passo è possibile utilizzare quanto segue codice in Arduino IDE:

const int dirPin = 2;
const int stepPin = 3;
 
const int steps = 200;
int stepDelay;
 
void setup() {
   // Configura los pines como salida
   pinMode(dirPin, OUTPUT);
   pinMode(stepPin, OUTPUT);
}
 
void loop() {
   //Se pone una dirección y velocidad
   digitalWrite(dirPin, HIGH);
   stepDelay = 250;
   // Se gira 200 pulsos para hacer vuelta completa del eje
   for (int x = 0; x < 200; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
 
   //Ahora se cambia la dirección de giro y se aumenta la velocidad
   digitalWrite(dirPin, LOW);
   stepDelay = 150;
   //Se hacen dos vueltas completas
   for (int x = 0; x < 400; x++) {
      digitalWrite(stepPin, HIGH);
      delayMicroseconds(stepDelay);
      digitalWrite(stepPin, LOW);
      delayMicroseconds(stepDelay);
   }
   delay(1000);
}

Ti consiglio di provare anche alcuni esempi di codice che troverai tra gli esempi forniti con l'IDE di Arduino e di provare a modificare i valori per capire come influisce sul motore.

a ulteriori informazioni sui motori passo-passo, il loro controllo e la programmazione di Arduino, mi raccomando scarica gratuitamente il nostro corso di programmazione.


3 commenti, lascia il tuo

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Gesù suddetto

    Ciao, sto costruendo un CNC fatto in casa con drv8825, la mia domanda è se posso mettere motori nema 23 2.8a poiché sono un po 'più economici di 2.5a, avrei un problema? Grazie

    1.    Isaac suddetto

      Ciao Gesù,
      Grazie per averci letto. Per quanto riguarda la tua domanda, tieni d'occhio il driver che intendi utilizzare in modo che sia compatibile con quei motori. Il case del DRV8825 è fino a un massimo di 2.5 A. Guarda per vedere il TB6600, che può arrivare fino a 3.5 A se ricordo bene ...
      Un saluto!

  2.   Rodolfo suddetto

    Salaudos. Qual è il valore del condensatore elettrolitico che si trova nell'alimentazione del motore. Grazie.