DRV8825: de driver voor stappenmotoren

drv8825

Un Motor bestuurder Het is een schakeling waarmee gelijkstroommotoren op een zeer eenvoudige manier kunnen worden aangestuurd. Met deze controllers kunnen de spanningen en stromen waarmee de motor wordt gevoed, worden beheerd om de rotatiesnelheid te regelen. Bovendien dienen ze als beschermingsmethode om te voorkomen dat de elektronica van de motoren wordt beschadigd door de stroom die circuleert te beperken (hakken).

Daarom, als je een doe-het-zelfproject gaat maken, zal dat omvatten een of meer gelijkstroommotorenWelk type ze ook zijn, en vooral voor stappenmotoren, u moet een motordriver gebruiken om het u gemakkelijker te maken. Hoewel er methoden zijn om het anders te doen, met behulp van transistors, zijn modules met motorstuurprogramma's veel praktischer en eenvoudiger. In feite vertrouwen deze stuurprogramma's op transistors om hun werk te doen ...

Waarom heb ik een chauffeur nodig?

El driver is nodig voor motorbesturing, zoals ik al eerder heb gezegd. Houd er ook rekening mee dat het Arduino-bord en zijn microcontroller de motorbeweging niet kunnen aandrijven. Het is eenvoudigweg ontworpen voor digitale signalen, maar het zou niet goed werken als er iets meer vermogen moet worden geleverd zoals vereist door dit soort motoren. Daarom moet je dit element tussen het Arduino-bord en de motoren hebben.

Typen stuurprogramma's

U moet weten dat er zijn verschillende soorten stuurprogramma's afhankelijk van het type motor waarvoor ze bedoeld zijn. Dit is belangrijk om te weten hoe u het kunt onderscheiden om de juiste driver te krijgen:

  • Driver voor unipolaire motor: ze zijn het eenvoudigst te besturen, aangezien de stroom die door de spoelen vloeit altijd in dezelfde richting gaat. De taak van de bestuurder moet gewoon weten welke spoelen hij bij elke puls moet activeren. Een voorbeeld van dit type controller is de ULN2003A.
  • Driver voor bipolaire motor: deze motoren zijn complexer en hun stuurprogramma's ook, zoals de DRV8825. In dit geval kunnen ze worden geactiveerd met stroming in de ene of de andere richting (noord-zuid en zuid-noord). Het is de bestuurder die de richting bepaalt om de polariteit van het magnetische veld dat in de motor wordt geproduceerd, te veranderen. Het bekendste circuit voor het omkeren van de richting heet Punete H, waardoor de motor in beide richtingen kan draaien. Die H-brug is opgebouwd uit meerdere transistors.

Die laatste zijn de afgelopen jaren nog populairder geworden omdat ze bij sommige ook zijn opgenomen 3D printers om het afdrukken met het hoofd te regelen. Het is mogelijk dat als u van plan bent een 3D-printer te monteren of als u er al een heeft, u een van deze nodig heeft om de motor te kunnen besturen of dit onderdeel te vervangen als het beschadigd is. Ze worden ook gebruikt voor robots, plotters, conventionele printers, scanners, elektronische voertuigen en een lange enz.

DRV8825

Er zijn verschillende modellen stuurprogramma's op de markt. Bijvoorbeeld hem DRV8825 is een verbeterde versie van de A4988. Deze driver heeft slechts twee digitale uitgangen van de microcontroller nodig om de motor goed te kunnen bedienen. Alleen daarmee kun je met deze twee signalen de richting en de stap van de motor regelen. Dat wil zeggen, hiermee is het mogelijk om stappen uit te voeren, of dat de motor stap voor stap roteert in plaats van snel te roteren zoals andere eenvoudige motoren.

DRV8825 maakt het mogelijk om te werken met spanningen hoger dan die gebruikt door de A4988, sindsdien het kan 45v bereiken in plaats van de 35v van de A4988. Hij kan ook hogere stromen aan, met name 2.5 A, dat is een halve ampère meer dan de A4988. Naast dat alles voegt deze nieuwe driver een nieuwe 1/32 microstepping-modus toe (1/16 voor de A4988) om de as van de stappenmotor nauwkeuriger te kunnen bewegen.

anderszins ze lijken behoorlijk op elkaar. Beide kunnen bijvoorbeeld probleemloos hoge bedrijfstemperaturen bereiken. Daarom, als je ze begeleidt met een kleine heatsink, veel beter (veel modellen zijn er al mee uitgerust), vooral als je het gaat gebruiken boven 1A.

Als de inkapseling hoge temperaturen bereikt, moet u deze uit voorzorg uitschakelen. Het zou leuk zijn om het datasheets van het model dat je hebt gekocht en zie de maximale temperatuur waarbij het kan werken. Het toevoegen van een temperatuursensor naast de bestuurder om de temperatuur te bewaken en een circuit te gebruiken dat de werking onderbreekt als die limiettemperatuur wordt bereikt, zou ten zeerste worden aanbevolen ...

De DRV8825 heeft bescherming tegen problemen van overstroom, kortsluiting, overspanning en overtemperatuur. Daarom zijn het zeer betrouwbare en resistente apparaten. En allemaal voor een vrij lage prijs in gespecialiseerde winkels waar u dit onderdeel kunt vinden.

Microsteppen

microstappen

Met de techniek van microstepping-stappen lager dan de nominale stap kunnen worden bereikt van de stappenmotor die u gaat gebruiken. Dat wil zeggen, verdeel de bocht in meer porties om langzamer of nauwkeuriger vooruit te kunnen gaan. Om dit te doen, wordt de stroom toegepast op elke spoel gevarieerd door een analoge waarde te emuleren met de beschikbare digitale signalen. Als perfecte sinusvormige analoge signalen worden bereikt en 90º uit fase met elkaar, zou de gewenste rotatie worden bereikt.

Maar je kunt dat analoge signaal natuurlijk niet krijgen, omdat we werken met digitale signalen. Daarom moeten deze worden behandeld om te proberen het analoge signaal te simuleren door middel van kleine sprongen in het elektrische signaal. De resolutie van de motor hangt hiervan af: 1/4, 1/8, 1/16, 1/32, ...

Om de gewenste resolutie te selecteren, moet u de M0-, M1- en M2-pinnen van de module bedienen. De pinnen zijn verbonden met aarde of GND via pull-up weerstanden, dus als er niets is aangesloten, zullen ze altijd LAAG of 0 zijn. Om deze waarde te veranderen, moet je een waarde van 1 of HOOG forceren. De waarden van M0, M1, M2 respectievelijk degenen die volgens de resolutie moeten zijn, zijn:

  • Volledige stap: laag, laag, laag
  • 1/2: hoog, laag, laag
  • 1/4: laag, hoog, laag
  • 1/8: hoog, hoog, laag
  • 1/16: Laag, Laag, Hoog
  • 1/32: alle andere mogelijke waarden

Pinout

DRV8825 pin uit

El DRV8825-stuurprogramma heeft een eenvoudig verbindingsschema, hoewel het hebben van voldoende pinnen een beetje ingewikkeld kan zijn voor de minder deskundige. U kunt het zien in de afbeelding hierboven, maar zorg ervoor dat u de module correct positioneert als u naar de pinnen kijkt, aangezien het vaak is om fouten te maken en deze omgekeerd te nemen, wat resulteert in een slechte verbinding en zelfs schade.

Como aanbeveling om de driver aan te sluiten, wordt aanbevolen om het apparaat correct af te stellen en te kalibreren door de onderstaande stappen te volgen voor een juiste werking en om het niet te beschadigen:

  1. Sluit de driver aan op de spanning zonder motor aangesloten of microstepping.
  2. Meet met een multimeter de spanning die bestaat tussen GND en de potentiometer.
  3. Stel de potentiometer af totdat het de juiste waarde is.
  4. Nu kan je schakel de stroom uit.
  5. Op dit moment kan dat sluit de motor aan. En sluit de stroom weer aan op de duiker.
  6. Met de multimeter meten de intensiteit tussen de bestuurder en de motor stap voor stap en je kunt de potentiometer fijner afstellen.
  7. Schakel de stroom weer uit en je kunt het nu verbinden met Arduino.

Als u het niet gaat gebruiken microstepping kun je de intensiteit van de regelaar aanpassen tot 100% van de nominale motorstroom. Maar als je het gaat gebruiken, moet je deze limiet verlagen, omdat de waarde die dan circuleert hoger zal zijn dan de gemeten waarde ...

l298n
Gerelateerd artikel:
L298N: module om motoren voor Arduino aan te sturen

Integratie met Arduino

ARduino en DRV8825 schema

Om de DRV8825-driver met Arduino te gebruiken, de verbinding is vrij eenvoudig zoals je bovenaan in dit elektronische schema van Fritzing kunt zien:

  • VMOT: aangesloten op maximaal 45v vermogen.
  • GND: aarde (motor)
  • SLP: bij 5v
  • RST: bij 5v
  • GND: naar aarde (logica)
  • STP: naar Arduino pin 3
  • DIR: naar Arduino pin 2
  • A1, A2, B1, B2: naar stappenmotor (motor)

Eenmaal aangesloten en correct afgesteld, is de code voor de bediening ook eenvoudig. Om bijvoorbeeld een stappenmotor aan te sturen, kunt u het volgende gebruiken code 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);
}

Ik raad je aan om ook enkele codevoorbeelden te proberen die je zult vinden bij de voorbeelden die bij de Arduino IDE worden geleverd, en probeer waarden aan te passen om te leren hoe dit de motor beïnvloedt.

naar Meer informatie over stappenmotoren, hun besturing en Arduino-programmering, raad ik aan download gratis onze programmeercursus.


3 reacties, laat de jouwe achter

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Jezus zei

    Hallo, ik bouw een zelfgemaakte CNC met drv8825, mijn vraag is of ik nema 23 2.8a-motoren kan plaatsen omdat ze iets goedkoper zijn dan 2.5a, zou ik een probleem hebben? Dank u

    1.    Isaac zei

      Hallo Jezus,
      Bedankt voor het lezen. Wat uw vraag betreft, houd het stuurprogramma dat u gaat gebruiken in de gaten om het compatibel te maken met die motoren. De behuizing van de DRV8825 is maximaal 2.5A. Kijk om de TB6600 te zien, die tot 3.5 A kan gaan als ik het me goed herinner ...
      Groeten!

  2.   Rodolfo zei

    Salaudos. Wat is de waarde van de elektrolytische condensator die zich in de motorvoeding bevindt. Bedankt.