DRV8825: driverul pentru motoarele pas cu pas

drv8825

Un șofer de motor Este un circuit care permite controlul motoarelor de curent continuu într-un mod foarte simplu. Aceste controlere vă permit să gestionați tensiunile și curenții la care este furnizat motorul pentru a controla viteza de rotație. În plus, acestea servesc ca metodă de protecție pentru a preveni deteriorarea electronice a motoarelor prin limitarea curentului care circulă (tocat).

Prin urmare, dacă aveți de gând să creați un proiect DIY care va fi include unul sau mai multe motoare de curent continuuIndiferent de tipul lor și în special pentru motoarele pas cu pas, ar trebui să utilizați un driver de motor pentru a vă ușura lucrurile. Deși există metode de a face acest lucru diferit, folosind tranzistoare, modulele cu drivere sunt mult mai practice și mai simple. De fapt, acești șoferi se bazează pe tranzistoare pentru a-și face treaba ...

De ce am nevoie de un șofer?

El șoferul este necesar pentru controlul motorului, cum am mai spus. De asemenea, trebuie să aveți în vedere faptul că placa Arduino și microcontrolerul său nu sunt capabile să alimenteze mișcarea motorului. Este pur și simplu conceput pentru semnale digitale, dar nu ar funcționa bine atunci când trebuie alimentată puțină energie, după cum cer aceste tipuri de motoare. De aceea trebuie să aveți acest element între placa Arduino și motoare.

Tipuri de drivere

Trebuie să știți asta există mai multe tipuri de drivere în funcție de tipul de motor căruia îi sunt destinate. Acest lucru este important pentru a ști cum să-l diferențiem pentru a obține driverul potrivit:

  • Driver pentru motor unipolar: sunt cele mai simple de controlat, deoarece curentul care trece prin bobine merge întotdeauna în aceeași direcție. Munca șoferului trebuie pur și simplu să știe ce bobine trebuie să activeze la fiecare impuls. Un exemplu al acestui tip de controler ar fi ULN2003A.
  • Driver pentru motorul bipolar: aceste motoare sunt mai complexe și driverele lor sunt, de asemenea, ca DRV8825. În acest caz pot fi activate cu curent într-o direcție sau alta (nord-sud și sud-nord). Șoferul este cel care decide direcția de a schimba polaritatea câmpului magnetic care este produs în interiorul motorului. Cel mai cunoscut circuit pentru inversarea direcției se numește Punete H, permițând motorului să se rotească în ambele direcții. Acel pod H este alcătuit din mai mulți tranzistori.

Acestea din urmă au devenit și mai populare în ultimii ani, deoarece sunt incluse și în unele imprimante 3D pentru a controla tipărirea cu capul. Este posibil ca, dacă intenționați să montați o imprimantă 3D sau dacă aveți deja una, să aveți nevoie de una dintre acestea pentru a putea controla motorul sau a înlocui această piesă dacă a fost deteriorată. Acestea sunt, de asemenea, utilizate pentru roboți, plotere, imprimante convenționale, scanere, vehicule electronice și o lungă etc.

DRV8825

Există mai multe modele de drivere pe piață. De exemplu, el DRV8825 este o versiune actualizată a A4988. Acest driver are nevoie doar de două ieșiri digitale de la microcontroler pentru a putea manevra corect motorul. Numai cu aceasta puteți controla direcția și pasul motorului cu aceste două semnale. Adică, cu aceasta este posibilă efectuarea pasului sau motorul să se rotească pas cu pas în loc să se rotească rapid ca alte motoare simple.

DRV8825 permite lucrul cu tensiuni mai mari decât cele utilizate de A4988, deoarece poate ajunge la 45v în loc de 35v de pe A4988. De asemenea, poate gestiona curenți mai mari, în special 2.5 A, adică cu jumătate de amplificator mai mult decât A4988. În plus față de toate acestea, acest nou driver adaugă un nou mod de microstepping 1/32 (1/16 pentru A4988) pentru a putea deplasa mai precis arborele motorului pas cu pas.

altfel sunt destul de asemănătoare. De exemplu, ambele pot atinge temperaturi ridicate de funcționare fără probleme. Prin urmare, dacă îi însoțiți cu un mic radiator, mult mai bine (multe modele îl încorporează deja), mai ales dacă îl veți folosi peste 1A.

Dacă încapsularea atinge temperaturi ridicate, ca măsură de precauție, ar trebui să o opriți. Ar fi frumos să consultăm foi de date din modelul pe care l-ați cumpărat și vedeți temperatura maximă la care poate funcționa. Adăugarea unui senzor de temperatură lângă șofer pentru a monitoriza temperatura și a utiliza un circuit care întrerupe funcționarea dacă atinge această temperatură limită ar fi foarte recomandat ...

DRV8825 are protecție împotriva problemelor de supracurent, scurtcircuit, supratensiune și supratemperatură. Prin urmare, acestea sunt dispozitive foarte fiabile și rezistente. Și toate pentru un preț destul de mic în magazine specializate unde puteți găsi această componentă.

micropasare

micropasare

Cu tehnica de se pot realiza pași de microstepping mai mici decât pasul nominal motorului pas cu pas pe care îl veți folosi. Adică, împărțiți rândul în mai multe porțiuni pentru a putea avansa mai încet sau mai precis. Pentru a face acest lucru, curentul aplicat fiecărei bobine este variat prin emularea unei valori analogice cu semnalele digitale disponibile. Dacă se obțin semnale analogice sinusoidale perfecte și sunt defazate la 90 ° între ele, se va realiza rotația dorită.

Dar, desigur, nu puteți obține acel semnal analogic, deoarece lucrăm cu semnale digitale. De aceea acestea ar trebui tratate pentru a încerca să simuleze semnalul analogic prin mici salturi în semnalul electric. Rezoluția motorului va depinde de aceasta: 1/4, 1/8, 1/16, 1/32, ...

Pentru a selecta rezoluția dorită, trebuie să controlați pinii M0, M1 și M2 ai modulului. Pinii sunt conectați la masă sau GND prin rezistențe de tracțiune, deci dacă nu este conectat nimic, vor fi întotdeauna LOW sau 0. Pentru a modifica această valoare, va trebui să forțați o valoare de 1 sau HIGH. valorile M0, M1, M2 respectiv cele care trebuie să fie conform rezoluției, sunt:

  • Pas complet: scăzut, scăzut, scăzut
  • 1/2: înalt, scăzut, scăzut
  • 1/4: Scăzut, înalt, scăzut
  • 1/8: înalt, înalt, scăzut
  • 1/16: Scăzut, scăzut, ridicat
  • 1/32: toate celelalte valori posibile

pinout

Pinout DRV8825

El Driverul DRV8825 are o schemă simplă de conectare, deși să ai suficiente pini poate fi puțin complicat pentru cei mai puțin experți. Îl puteți vedea în imaginea de mai sus, dar asigurați-vă că poziționați modulul corect atunci când vă uitați la știfturi, deoarece este obișnuit să faceți greșeli și să îl luați inversat, ceea ce duce la o conexiune defectuoasă și chiar la deteriorări.

Como recomandare pentru conectarea șoferului, se recomandă reglarea și calibrarea corespunzătoare a dispozitivului urmând pașii de mai jos pentru o funcționare corectă și nu deteriorarea acestuia:

  1. Conectați driverul la tensiune fără motor conectat sau microstepping.
  2. Măsurați cu un multimetru tensiunea care există între GND și potențiometru.
  3. Reglați potențiometrul până când este valoarea adecvată.
  4. Acum poți opriți alimentarea.
  5. În acest moment da poți conectați motorul. Și reconectați alimentarea la scafandru.
  6. Cu măsurarea multimetrului intensitatea dintre șofer și motor pas cu pas și puteți face o reglare mai fină a potențiometrului.
  7. Opriți din nou alimentarea și acum îl puteți conecta la Arduino.

Dacă nu veți folosi microstepping puteți regla intensitatea regulatorului până la 100% din curentul nominal al motorului. Dar dacă o veți folosi, trebuie să reduceți această limită, deoarece valoarea care va circula va fi mai mare decât cea măsurată ...

Articol asociat:
L298N: modul pentru controlul motoarelor pentru Arduino

Integrare cu Arduino

Schema ARduino și DRV8825

Pentru a utiliza driverul DRV8825 cu Arduino, conexiunea este destul de simplă după cum puteți vedea în partea de sus a acestei scheme electronice de la Fritzing:

  • VMOT: conectat la alimentare până la maxim 45v.
  • GND: masă (motor)
  • SLP: la 5v
  • RST: la 5v
  • GND: la sol (logică)
  • STP: la pinul 3 Arduino
  • DIR: la pinul 2 Arduino
  • A1, A2, B1, B2: pas cu pas (motor)

Odată conectat și reglat corect, codul pentru controlul său este, de asemenea, simplu. De exemplu, pentru a controla un motor pas cu pas, puteți utiliza următoarele cod în IDE Arduino:

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);
}

Vă sfătuiesc să încercați, de asemenea, câteva exemple de cod pe care le veți găsi printre exemplele care vin cu Arduino IDE și să încercați să modificați valorile pentru a afla cum afectează motorul.

la mai mult despre motoarele pas cu pas, controlul lor și programarea Arduino, vă recomand descărcați gratuit cursul nostru de programare.


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

3 comentarii, lasă-le pe ale tale

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Isus el a spus

    Bună ziua, construiesc un CNC de casă cu drv8825, întrebarea mea este dacă pot pune motoare nema 23 2.8a deoarece sunt oarecum mai ieftine decât 2.5a, aș avea o problemă? Mulțumesc

    1.    Isaac el a spus

      Salut Iisuse,
      Vă mulțumim că ne-ați citit. În ceea ce privește întrebarea dvs., țineți cont de șoferul pe care îl veți folosi, astfel încât să fie compatibil cu acele motoare. Carcasa DRV8825 este de până la maximum 2.5A. Uită-te să vezi TB6600, care poate ajunge până la 3.5A dacă îmi amintesc corect ...
      Salutări!

  2.   Rodolfo el a spus

    Salaudos. Care este valoarea condensatorului electrolitic care este în sursa de alimentare a motorului. Mulțumiri.