DRV8825: sterownik silników krokowych

drv8825

Un Kierowca motocyklu Jest to obwód umożliwiający sterowanie silnikami prądu stałego w bardzo prosty sposób. Kontrolery te pozwalają na zarządzanie napięciami i prądami, przy których zasilany jest silnik, w celu kontrolowania prędkości obrotowej. Ponadto służą jako metoda ochrony, która zapobiega uszkodzeniu elektroniki silników poprzez ograniczenie krążącego prądu (przerywanie).

Dlatego jeśli masz zamiar stworzyć projekt DIY, to będzie zawierać jeden lub więcej silników prądu stałegoNiezależnie od tego, jaki jest ich typ, a zwłaszcza w przypadku silników krokowych, powinieneś użyć sterownika silnika, aby ułatwić sobie pracę. Chociaż istnieją metody, aby zrobić to inaczej, używając tranzystorów, moduły ze sterownikami silników są znacznie bardziej praktyczne i prostsze. W rzeczywistości te sterowniki polegają na tranzystorach, aby wykonywać swoją pracę ...

Dlaczego potrzebuję sterownika?

El sterownik jest niezbędny do sterowania silnikiem, jak powiedziałem wcześniej. Należy również pamiętać, że płyta Arduino i jej mikrokontroler nie są w stanie zasilać ruchu silnika. Jest po prostu zaprojektowany dla sygnałów cyfrowych, ale nie działałby dobrze, gdyby trzeba było dostarczyć trochę więcej mocy, jakiej wymagają tego typu silniki. Dlatego musisz mieć ten element między płytką Arduino a silnikami.

Typy sterowników

Powinieneś wiedzieć, że istnieje kilka typów sterowników w zależności od typu silnika, do którego są przeznaczone. Ważne jest, aby wiedzieć, jak to odróżnić, aby uzyskać odpowiedni sterownik:

  • Sterownik do silnika jednobiegunowego: są najłatwiejsze do sterowania, ponieważ prąd przepływający przez cewki zawsze płynie w tym samym kierunku. Zadanie kierowcy musi po prostu wiedzieć, które cewki musi aktywować przy każdym impulsie. Przykładem tego typu kontrolera byłby ULN2003A.
  • Sterownik do silnika bipolarnego: te silniki są bardziej złożone, podobnie jak ich sterowniki, jak DRV8825. W takim przypadku można je aktywować prądem w jednym lub drugim kierunku (północ-południe i południe-północ). To sterownik decyduje o kierunku zmiany polaryzacji pola magnetycznego wytwarzanego wewnątrz silnika. Najbardziej znany obwód zmiany kierunku nazywa się Punete H, umożliwiając silnikowi obracanie się w obu kierunkach. Ten mostek H składa się z kilku tranzystorów.

Te ostatnie stały się jeszcze bardziej popularne w ostatnich latach, ponieważ są również zawarte w niektórych drukarki 3D do kontroli drukowania za pomocą głowicy. Możliwe, że jeśli zamierzasz zamontować drukarkę 3D lub jeśli już taką posiadasz, będziesz potrzebować jednej z nich, aby móc sterować silnikiem lub wymienić tę część, jeśli została uszkodzona. Są również używane do robotów, ploterów, konwencjonalnych drukarek, skanerów, pojazdów elektronicznych i długich itp.

DRV8825

Na rynku dostępnych jest kilka modeli sterowników. Na przykład on DRV8825 to ulepszona wersja A4988. Ten sterownik potrzebuje tylko dwóch wyjść cyfrowych z mikrokontrolera, aby móc prawidłowo obsługiwać silnik. Tylko dzięki temu możesz sterować kierunkiem i krokiem silnika za pomocą tych dwóch sygnałów. Oznacza to, że umożliwia to wykonywanie kroków lub że silnik obraca się krok po kroku, zamiast obracać się szybko, jak inne proste silniki.

DRV8825 umożliwia pracę z napięciami wyższymi niż te stosowane przez A4988, ponieważ może osiągnąć 45 v zamiast 35v modelu A4988. Może również obsługiwać wyższe prądy, konkretnie 2.5 A, czyli o pół ampera więcej niż A4988. Oprócz tego nowy sterownik dodaje nowy tryb 1/32 mikrokroków (1/16 dla A4988), aby móc precyzyjniej przesuwać wał silnika krokowego.

W przeciwnym razie są dość podobne. Na przykład oba mogą bez problemu osiągnąć wysokie temperatury robocze. Dlatego, jeśli dołączysz do nich mały radiator, znacznie lepiej (wiele modeli już go zawiera), zwłaszcza jeśli zamierzasz używać go powyżej 1A.

Jeśli hermetyzacja osiągnie wysokie temperatury, na wszelki wypadek należy ją wyłączyć. Byłoby miło skonsultować się z Arkusze danych zakupionego modelu i zobacz maksymalną temperaturę, w której może pracować. Dodanie czujnika temperatury obok sterownika w celu monitorowania temperatury i użycia obwodu, który przerywa pracę, jeśli osiągnie tę graniczną temperaturę, byłoby wysoce zalecane ...

DRV8825 ma ochrona przed problemami przetężenia, zwarcia, przepięcia i przegrzania. Dlatego są to bardzo niezawodne i wytrzymałe urządzenia. A wszystko dla dość niska cena w wyspecjalizowanych sklepach, w których można znaleźć ten komponent.

Mikrokroki

mikrokrok

Dzięki technice Można osiągnąć krok mikrokroków niższy niż krok nominalny silnika krokowego, którego będziesz używać. Oznacza to, że podziel turę na więcej porcji, aby móc postępować wolniej lub dokładniej. Aby to zrobić, prąd doprowadzany do każdej cewki jest zmieniany przez emulację wartości analogowej za pomocą dostępnych sygnałów cyfrowych. Jeśli zostaną osiągnięte doskonałe sinusoidalne sygnały analogowe i przesunięte w fazie o 90º, uzyskany zostanie pożądany obrót.

Ale oczywiście nie możesz uzyskać tego sygnału analogowego, ponieważ pracujemy z sygnałami cyfrowymi. Dlatego należy je traktować, aby spróbować zasymulować sygnał analogowy poprzez niewielkie skoki sygnału elektrycznego. Rozdzielczość silnika będzie zależała od tego: 1/4, 1/8, 1/16, 1/32, ...

Aby wybrać żądaną rozdzielczość, musisz sterować pinami M0, M1 i M2 modułu. Piny są połączone z masą lub GND za pomocą rezystorów podciągających, więc jeśli nic nie jest podłączone, zawsze będą NISKIE lub 0. Aby zmienić tę wartość, będziesz musiał wymusić wartość 1 lub WYSOKI. Plik wartości M0, M1, M2 odpowiednio te, które muszą być zgodne z rezolucją, to:

  • Pełny krok: niski, niski, niski
  • 1/2: wysoki, niski, niski
  • 1/4: Niska, Wysoka, Niska
  • 1/8: Wysoki, Wysoki, Niski
  • 1/16: Niska, Niska, Wysoka
  • 1/32: wszystkie inne możliwe wartości

Wyprowadzenia

Układ pinów DRV8825

El Sterownik DRV8825 ma prosty schemat połączeńchociaż posiadanie wystarczającej liczby pinów może być nieco skomplikowane dla mniej eksperta. Możesz to zobaczyć na powyższym obrazku, ale pamiętaj, aby prawidłowo ustawić moduł, patrząc na piny, ponieważ często popełnia się błędy i bierze go odwrotnie, co skutkuje złym połączeniem, a nawet uszkodzeniem.

Como zalecenie podłączenia sterownika, zaleca się prawidłowe wyregulowanie i skalibrowanie urządzenia, wykonując poniższe czynności, aby zapewnić prawidłowe działanie i nie uszkodzić go:

  1. Podłączyć sterownik do napięcia bez podłączonego silnika lub mikrokroków.
  2. Zmierz za pomocą multimetru napięcie który istnieje między GND a potencjometrem.
  3. Wyreguluj potencjometr dopóki nie osiągnie właściwej wartości.
  4. Teraz możesz wyłączyć zasilanie.
  5. W tej chwili tak, możesz podłączyć silnik. I ponownie podłącz zasilanie do nurka.
  6. Z miernikiem multimetru intensywność między kierowcą a silnikiem krok po kroku i możesz dokładniej wyregulować potencjometr.
  7. Wyłącz ponownie zasilanie i możesz teraz podłączyć go do Arduino.

Jeśli nie zamierzasz używać microstepping można regulować intensywność regulatora do 100% znamionowego prądu silnika. Ale jeśli masz zamiar go używać, musisz zmniejszyć ten limit, ponieważ wartość, która będzie później krążyć, będzie wyższa niż zmierzona ...

L298n
Podobne artykuł:
L298N: moduł do sterowania silnikami dla Arduino

Integracja z Arduino

Schemat ARduino i DRV8825

Aby użyć sterownika DRV8825 z Arduino, połączenie jest dość proste jak widać u góry na tym schemacie elektronicznym Fritzinga:

  • VMOT: podłączony do zasilania maksymalnie do 45 V.
  • GND: masa (silnik)
  • SLP: przy 5v
  • RST: przy 5v
  • GND: do masy (logika)
  • STP: do pinu 3 Arduino
  • DIR: do pinu 2 Arduino
  • A1, A2, B1, B2: do krokowego (silnik)

Po podłączeniu i prawidłowym ustawieniu kod do sterowania jest również prosty. Na przykład, aby sterować silnikiem krokowym, możesz użyć następującego kod w 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);
}

Radzę również wypróbować kilka przykładów kodu, które znajdziesz wśród przykładów dołączonych do Arduino IDE i spróbować zmodyfikować wartości, aby dowiedzieć się, jak wpływa to na silnik.

do więcej o silnikach krokowych, ich sterowaniu i programowaniu Arduino polecam pobierz nasz kurs programowania za darmo.


3 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Jezus powiedział

    Witam buduję domowe CNC z drv8825, moje pytanie czy mogę założyć silniki nema 23 2.8a skoro są trochę tańsze niż 2.5a czy miałbym problem? Dziękuję Ci

    1.    Isaac powiedział

      Witaj Jezu,
      Dziękuję za przeczytanie. Jeśli chodzi o wątpliwości, miej oko na sterownik, którego będziesz używać, aby był kompatybilny z tymi silnikami. Obudowa DRV8825 jest do maksymalnie 2.5A. Spójrz, aby zobaczyć TB6600, która może wzrosnąć do 3.5 A, jeśli dobrze pamiętam ...
      Pozdrowienia!

  2.   Rodolfo powiedział

    Salaudos. Jaka jest wartość kondensatora elektrolitycznego znajdującego się w zasilaniu silnika. Dzięki.