DRV8825: ovladač pro krokové motory

drv8825

Ovladač motoru je obvod, který umožňuje jednoduché ovládání stejnosměrných motorů. Tyto ovladače řídí napětí a proud dodávaný do motoru a řídí jeho otáčky. Slouží také jako ochranný mechanismus, který zabraňuje poškození elektroniky motoru omezením toku proudu (chopping).

Pokud tedy chcete vytvořit DIY projekt, který zahrnuje jeden nebo více stejnosměrných motorů , ať už jsou jakéhokoli typu, a zejména u krokových motorů, měli byste pro usnadnění použít ovladač motoru. Ačkoli existují i ​​jiné metody, jak to udělat, použití tranzistorů a modulů ovladačů motoru je mnohem praktičtější a přímočařejší. Ve skutečnosti se tyto ovladače spoléhají na tranzistory, aby plnily svou funkci…

Proč potřebuji ovladač?

Nebyly nalezeny žádné produkty.

Ovladač je nezbytný pro řízení motoru, jak jsem již zmínil. Dále byste měli mít na paměti, že deska Arduino a její mikrokontrolér nejsou schopny napájet pohyb motoru. Jsou navrženy pouze pro digitální signály a při dodávkách vyššího výkonu požadovaného těmito typy motorů by nefungovaly správně. Proto je tato součástka potřebná mezi deskou Arduino a motory.

Typy ovladačů

Měli byste vědět, že existuje několik typů ovladačů v závislosti na typu motoru, pro který jsou určeny. Je důležité tento rozdíl pochopit, abyste si vybrali správný ovladač.

  • Ovladač pro unipolární motor: jsou nejjednodušší na ovládání, protože proud protékající cívkami jde vždy stejným směrem. Úkol řidiče prostě musí vědět, které cívky musí aktivovat při každém pulzu. Příkladem tohoto typu řadiče může být ULN2003A.
  • Ovladač pro bipolární motor: tyto motory jsou složitější a jejich ovladače jsou také podobné, jako DRV8825. V tomto případě mohou být aktivovány proudem v jednom nebo druhém směru (sever-jih a jih-sever). Je to řidič, který určuje směr, kterým se mění polarita magnetického pole vytvářeného uvnitř motoru. Nejznámější obvod pro obrácení směru se nazývá Punete H, což umožňuje motoru otáčet se v obou směrech. Ten H-můstek se skládá z několika tranzistorů.

Tyto motory se v posledních letech staly ještě populárnějšími, protože jsou také součástí některých 3D tiskáren pro ovládání tiskové hlavy. Pokud plánujete 3D tiskárnu postavit, nebo pokud ji již vlastníte, můžete jeden z nich potřebovat k ovládání motoru nebo k jeho výměně, pokud je poškozený. Používají se také v robotech, plotrech, konvenčních tiskárnách, skenerech, elektrických vozidlech a mnoha dalších zařízeních.

DRV8825

Nebyly nalezeny žádné produkty.

Na trhu existuje několik modelů ovladačů motorů. Například DRV8825 je vylepšená verze A4988 . Tento ovladač potřebuje k řádnému řízení motoru pouze dva digitální výstupy z mikrokontroléru. Pouze těmito dvěma signály lze ovládat směr a krok motoru. Jinými slovy, umožňuje krokování, což znamená, že se motor otáčí v krocích, místo aby se otáčel rychle jako jiné jednoduché motory.

DRV8825 umožňuje provoz při vyšších napětích než A4988, dosahuje až 45 V namísto 35 V u A4988. Zvládá také vyšší proudy, konkrétně 2.5 A, což je o půl ampéru více než A4988. Tento nový ovladač navíc přidává nový mikrokrokový režim 1/32 (1/16 u A4988) pro přesnější pohyb hřídele krokového motoru.

Jinak jsou si docela podobné. Například oba dokáží bez problémů dosáhnout vysokých provozních teplot. Pokud je tedy spárujete s malým chladičem, tím lépe (mnoho modelů jej již obsahuje), zvláště pokud jej budete používat s proudem nad 1 A.

Pokud zapouzdření dosáhne vysokých teplot, měli byste jej preventivně vypnout. Bylo by vhodné nahlédnout do datových listů zakoupeného modelu a zkontrolovat maximální provozní teplotu. Důrazně se doporučuje přidat teplotní senzor vedle ovladače pro sledování teploty a použít obvod, který přeruší provoz, pokud teplota dosáhne této hranice.

DRV8825 je vybaven ochranou proti nadproudu, zkratu, přepětí a přehřátí. Jedná se tedy o velmi spolehlivá a robustní zařízení. A to vše za cenu, kterou byste nenašli ve specializovaných obchodech, kde byste tuto součástku mohli sehnat.

Mikrokrokování

mikrokrokování

Technika mikrokrokování umožňuje dosáhnout kroků menších než je nominální krok použitého krokového motoru. Jinými slovy, rozděluje rotaci na více přírůstků, což umožňuje pomalejší nebo přesnější pohyb. Toho se dosahuje změnou proudu přiváděného do každé cívky, čímž se emuluje analogová hodnota pomocí dostupných digitálních signálů. Pokud se získají perfektní sinusové analogové signály, které jsou vzájemně fázově posunuty o 90°, bude dosaženo požadované rotace.

Ale samozřejmě nemůžeme tento analogový signál získat přímo, protože pracujeme s digitálními signály . Proto musíme tyto signály zpracovat, abychom se pokusili simulovat analogový signál pomocí malých kroků v elektrickém signálu. Rozlišení motoru bude na tom záviset: 1/4, 1/8, 1/16, 1/32 atd.

Pro výběr požadovaného rozlišení je nutné ovládat piny M0, M1 a M2 modulu. Tyto piny jsou připojeny k zemi (GND) přes pull-up rezistory, takže pokud není nic připojeno, budou vždy v nízkém stavu (0). Chcete-li tuto hodnotu změnit, je nutné nastavit hodnotu 1 (vysoká hodnota). Hodnoty M0, M1 a M2, které je nutné nastavit podle požadovaného rozlišení, jsou:

  • Celý krok: Nízký, Nízký, Nízký
  • 1/2: Vysoká, Nízká, Nízká
  • 1/4: Nízká, Vysoká, Nízká
  • 1/8: Vysoká, Vysoká, Nízká
  • 1/16: Nízká, Nízká, Vysoká
  • 1/32: všechny ostatní možné hodnoty

Pinout

Pinout DRV8825

Ovladač DRV8825 má jednoduché schéma zapojení , i když velký počet pinů může být pro méně zkušené uživatele trochu složitý. Můžete to vidět na obrázku výše, ale ujistěte se, že modul při pohledu na piny umístíte správně, protože je běžné, že jej omylem držíte dnem vzhůru, což vede k nesprávnému zapojení a dokonce i k poškození.

Jako doporučení pro připojení ovladače se doporučuje zařízení správně nastavit a kalibrovat podle těchto kroků, aby správně fungovalo a nedošlo k jeho poškození:

  1. Připojte ovladač k napětí bez připojeného motoru nebo mikrokrokování.
  2. Měření pomocí multimetru napětí který existuje mezi GND a potenciometrem.
  3. Nastavte potenciometr dokud to není správná hodnota.
  4. Nyní můžete vypněte napájení.
  5. V tuto chvíli ano, můžete připojte motor. A znovu připojte sílu k potápěči.
  6. S měřením multimetru intenzita mezi řidičem a motorem krok za krokem a můžete provést jemnější nastavení potenciometru.
  7. Vypněte napájení znovu a nyní jej můžete připojit k Arduinu.

Pokud nebudete používat mikrokrokování, můžete nastavit intenzitu regulátoru až do 100 % jmenovitého proudu motoru. Pokud jej ale budete používat, musíte tento limit snížit, protože skutečný proud protékající motorem bude vyšší než naměřená hodnota.

L298n
Související článek:
L298N: modul pro ovládání motorů pro Arduino

Integrace s Arduino

Schémata ARduino a DRV8825

Použití ovladače DRV8825 s Arduinem je poměrně jednoduché , jak můžete vidět nahoře v tomto elektronickém schématu Fritzing:

  • VMOT: připojeno k napájení maximálně 45 V.
  • GND: zem (motor)
  • SLP: na 5v
  • RST: na 5v
  • GND: k zemi (logika)
  • STP: na pin Arduino 3
  • DIR: na pin Arduino 2
  • A1, A2, B1, B2: na krokový motor

Po zapojení a správném nastavení je kód pro jeho ovládání také jednoduchý. Například pro ovládání krokového motoru můžete v Arduino IDE použít následující kód :

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

Doporučuji vám také vyzkoušet některé příklady kódu, které najdete mezi příklady, které přicházejí s Arduino IDE, a zkusit upravit hodnoty, abyste zjistili, jak to ovlivňuje motor.

Pro více informací o krokových motorech, jejich ovládání a programování Arduina doporučuji stáhnout si náš bezplatný kurz programování.


Přidat jako preferovaný zdroj v Googlu