DRV8825: pokretački program za koračne motore

drv8825

Un vozač motora To je sklop koji omogućava upravljanje motorom istosmjerne struje na vrlo jednostavan način. Ovi kontroleri vam omogućavaju upravljanje naponima i strujama pri kojima se motor napaja kako biste kontrolirali brzinu rotacije. Uz to, služe kao zaštitni metod za sprečavanje oštećenja elektronike motora ograničavanjem struje koja cirkulira (usitnjavanjem).

Stoga, ako ćete stvoriti projekt „uradi sam“, hoće uključuju jedan ili više jednosmernih motoraBez obzira na to koji su tip, posebno za koračne motore, trebali biste koristiti motorni vozač kako biste si olakšali posao. Iako postoje metode da se to učini drugačije, pomoću tranzistora, moduli sa pokretačima motora su mnogo praktičniji i jednostavniji. U stvari, ovi se upravljački programi oslanjaju na tranzistore da rade svoj posao ...

Zašto mi treba vozač?

El vozač je neophodan za kontrolu motora, kao što sam već rekao. Također, morate imati na umu da ploča Arduino i njen mikrokontroler nisu sposobni pokretati kretanje motora. Jednostavno je dizajniran za digitalne signale, ali ne bi dobro funkcionisao kada treba dostaviti malo više snage poput one koju zahtijevaju ove vrste motora. Zbog toga ovaj element morate imati između ploče Arduino i motora.

Tipovi vozača

To morate znati postoji nekoliko vrsta upravljačkih programa ovisno o tipu motora za koji su namijenjeni. Ovo je važno znati kako ga razlikovati da biste dobili pravog pokretača:

  • Vozač za unipolarni motor: njima je najjednostavnije upravljati, jer struja koja teče kroz zavojnice ide uvijek u istom smjeru. Posao vozača jednostavno mora znati koje zavojnice mora aktivirati na svakom impulsu. Primjer ove vrste kontrolera bio bi ULN2003A.
  • Vozač za bipolarni motor: ovi motori su složeniji i njihovi pokretači također, poput DRV8825. U ovom slučaju mogu se aktivirati strujom u jednom ili drugom smjeru (sjever-jug i jug-sjever). Vozač je taj koji odlučuje smjer za promjenu polariteta magnetskog polja koje se stvara unutar motora. Najpoznatiji krug za okretanje smjera zove se Punete H, omogućavajući motoru da se okreće u oba smjera. Taj H-most sastoji se od nekoliko tranzistora.

Potonji su postali još popularniji posljednjih godina jer su i oni uključeni u neke 3D štampači za kontrolu štampanja glavom. Moguće je da će vam, ako namjeravate montirati 3D printer, ili ga već imate, trebati jedan od njih da biste mogli upravljati motorom ili zamijeniti ovaj dio ako je oštećen. Također se koriste za robote, crtače, konvencionalne štampače, skenere, elektronička vozila i duge itd.

DRV8825

Na tržištu postoji nekoliko modela upravljačkih programa. Na primjer, on DRV8825 je nadograđena verzija A4988. Ovom vozaču su potrebna samo dva digitalna izlaza iz mikrokontrolera da bi mogao pravilno rukovati motorom. Samo s tim možete upravljati smjerom i korakom motora pomoću ova dva signala. Odnosno, s ovim je moguće izvesti korake ili da se motor okreće korak po korak, umjesto da se brzo okreće poput ostalih jednostavnih motora.

DRV8825 omogućava rad s naponima većim od onih koje koristi A4988, budući da može doseći 45v umjesto 35v A4988. Takođe može podnijeti veće struje, tačnije 2.5A, što je za pola pojačala više od A4988. Uz sve to, ovaj novi pokretački program dodaje novi način rada sa 1/32 mikrokoraka (1/16 za A4988) kako bi mogao preciznije pomicati osovinu koračnog motora.

Inače prilično su slični. Na primjer, oba mogu bez problema doseći visoke radne temperature. Stoga, ako ih popratite s malim hladnjakom, puno bolje (mnogi ga modeli već uključuju), pogotovo ako ćete ga koristiti iznad 1A.

Ako inkapsulacija dosegne visoke temperature, iz predostrožnosti biste je trebali isključiti. Bilo bi lijepo konzultirati se sa listovi podataka modela koji ste kupili i vidite maksimalnu temperaturu na kojoj može raditi. Dodavanje temperaturnog senzora pored upravljačkog programa za praćenje temperature i upotrebu kruga koji prekida rad ako dostigne tu graničnu temperaturu bilo bi vrlo preporučljivo ...

DRV8825 ima zaštita od problema prekomjerne struje, kratkog spoja, prenapona i prekomjerne temperature. Stoga su vrlo pouzdani i otporni uređaji. I sve za prilično niska cijena u specijaliziranim prodavaonicama gdje možete pronaći ovu komponentu.

Mikrokoračenje

mikrokoračenje

Tehnikom mogu se postići koraci mikrokoraka niži od nominalnog koračnog motora koji ćete koristiti. Odnosno, podijelite skretanje na više dijelova kako biste mogli sporije ili preciznije napredovati. Da biste to učinili, struja koja se primjenjuje na svaku zavojnicu mijenja se emuliranjem analogne vrijednosti s dostupnim digitalnim signalima. Ako se postignu savršeni sinusoidni analogni signali i međusobno izvan faze 90º, postigla bi se željena rotacija.

Ali naravno, ne možete dobiti taj analogni signal, jer radimo sa digitalnim signalima. Zato ih treba tretirati kako bi pokušali simulirati analogni signal kroz male skokove u električnom signalu. Rezolucija motora ovisit će o ovome: 1/4, 1/8, 1/16, 1/32, ...

Da biste odabrali željenu razlučivost, morate kontrolirati M0, M1 i M2 pinove modula. Pribadače su spojene na masu ili GND preko pull-up otpora, pa ako ništa nije povezano, uvijek će biti LOW ili 0. Da biste promijenili ovu vrijednost, morat ćete prisiliti vrijednost 1 ili HIGH. The vrijednosti M0, M1, M2 odnosno oni koji moraju biti u skladu s rezolucijom su:

  • Puni korak: nizak, nizak, nizak
  • 1/2: Visoko, Nisko, Nisko
  • 1/4: Nisko, Visoko, Nisko
  • 1/8: Visoko, Visoko, Nisko
  • 1/16: Nisko, Nisko, Visoko
  • 1/32: sve ostale moguće vrijednosti

Pinout

DRV8825 pin out

El Upravljački program DRV8825 ima jednostavnu šemu povezivanja, iako imati dovoljno pinova može biti malo komplicirano za manje stručnog. Možete ga vidjeti na gornjoj slici, ali pripazite da pravilno postavite modul kada gledate igle, jer je uobičajeno pogriješiti i uzeti ga obrnuto, što rezultira lošom vezom, pa čak i oštećenjem.

como preporuka za povezivanje vozača, preporučuje se pravilno podešavanje i kalibracija uređaja slijedeći korake u nastavku za ispravan rad i da ga ne oštetite:

  1. Spojite upravljački program na napon bez priključenog motora ili mikrokoračenja.
  2. Izmjerite multimetrom napetost koji postoji između GND i potenciometra.
  3. Podesite potenciometar dok ne dobije odgovarajuću vrijednost.
  4. Sada možete isključite napajanje.
  5. U ovom trenutku možete spojiti motor. I ponovo spojite struju na ronioca.
  6. Sa multimetarskom mjerom intenzitet između vozača i motora korak po korak i možete izvršiti finiju prilagodbu potenciometra.
  7. Ponovo isključite napajanje i sada ga možete povezati s Arduinom.

Ako nećete koristiti mikrokorakom možete podesiti intenzitet regulatora do 100% od nazivne struje motora. Ali ako ćete ga koristiti, morate ograničiti ovu granicu, jer će vrijednost koja će tada kružiti biti veća od izmjerene ...

l298n
Vezani članak:
L298N: modul za upravljanje motorima za Arduino

Integracija s Arduinom

Šeme ARduino i DRV8825

Da biste koristili upravljački program DRV8825 sa Arduinom, veza je vrlo jednostavna kao što možete vidjeti na vrhu ove elektroničke sheme iz Fritzinga:

  • VMOT: povezan na napajanje do 45v maks.
  • GND: tlo (motor)
  • SLP: na 5v
  • RST: u 5v
  • GND: uzemljenje (logika)
  • STP: na Arduino pin 3
  • DIR: na Arduino pin 2
  • A1, A2, B1, B2: do stepera (motora)

Jednom povezan i pravilno podešen, kôd za njegovo upravljanje je takođe jednostavan. Na primjer, za upravljanje koračnim motorom možete koristiti sljedeće kod u 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);
}

Savjetujem vam da isprobate i nekoliko primjera koda koje ćete pronaći među primjerima koji dolaze s Arduino IDE-om i pokušajte modificirati vrijednosti da biste saznali kako to utječe na motor.

para više informacija o koračnim motorima, njihovom upravljanju i Arduino programiranju, preporučujem preuzmite naš kurs programiranja besplatno.


3 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Isuse rekao je

    Pozdrav, gradim domaći CNC sa drv8825, moje pitanje je mogu li staviti 23 nema motora od 2.8a, jer su nešto jeftiniji od 2.5a, bih li imao problema? Hvala ti

    1.    Isaac rekao je

      Zdravo Isuse,
      Hvala što ste nas pročitali. Što se tiče vašeg pitanja, pripazite na upravljački program koji ćete koristiti kako bi bio kompatibilan s tim motorima. Kućište DRV8825 je do maksimalno 2.5A. Pogledajte TB6600, koji može doći do 3.5A ako se dobro sjećam ...
      Hvala!

  2.   Rodolfo rekao je

    Salaudos. Kolika je vrijednost elektrolitskog kondenzatora koji se nalazi u napajanju motora. Hvala.