DRV8825: driveren for trinnmotorer

drv8825

Un motorfører Det er en krets som gjør det mulig å kontrollere likestrømsmotorer på en veldig enkel måte. Disse kontrollerne tillater styring av spenninger og strømmer som motoren tilføres for å kontrollere rotasjonshastigheten. I tillegg fungerer de som en beskyttelsesmetode for å forhindre at elektronikken til motorene blir skadet ved å begrense strømmen som sirkulerer (hakking).

Derfor, hvis du skal lage et DIY-prosjekt som vil inkluderer en eller flere DC-motorerUansett hvilken type de er, og spesielt for trinnmotorer, bør du bruke en motordriver for å gjøre ting enklere for deg. Selv om det er metoder for å gjøre det annerledes, er det mye mer praktisk og greit å bruke transistorer, men moduler med motorførere. Faktisk stoler disse driverne på transistorer for å gjøre jobben sin ...

Hvorfor trenger jeg sjåfør?

Kontrollmodul
Kontrollmodul
Ingen rangeringer

El føreren er nødvendig for motorstyring, som jeg har sagt før. Du må også huske at Arduino-kortet og dets mikrokontroller ikke er i stand til å drive motorbevegelsen. Den er rett og slett designet for digitale signaler, men den vil ikke fungere bra når litt mer strøm må tilføres slik det kreves av denne typen motorer. Derfor må du ha dette elementet mellom Arduino-kortet og motorene.

Drivertyper

Vet at det er flere typer drivere avhengig av hvilken motortype de er beregnet på. Dette er viktig å vite hvordan man kan skille det for å få riktig driver:

  • Driver for unipolar motor: de er de enkleste å kontrollere, siden strømmen som strømmer gjennom spolene alltid går i samme retning. Sjåførens jobb må ganske enkelt vite hvilke spoler den må aktivere på hver puls. Et eksempel på denne typen kontrollere vil være ULN2003A.
  • Driver for bipolar motor: disse motorene er mer komplekse, og driverne deres er det også, som DRV8825. I dette tilfellet kan de aktiveres med strøm i den ene eller den andre retningen (nord-sør og sør-nord). Det er føreren som bestemmer retningen for å endre polariteten til magnetfeltet som produseres inne i motoren. Den mest kjente kretsen for å reversere retningen kalles Punete H, slik at motoren kan rotere i begge retninger. Den H-broen består av flere transistorer.

Sistnevnte har blitt enda mer populært de siste årene fordi de også er inkludert i noen Skrivere 3D for å kontrollere utskrift med hodet. Det er mulig at hvis du har tenkt å montere en 3D-skriver, eller hvis du allerede har en, trenger du en av disse for å kunne kontrollere motoren eller erstatte denne delen hvis den har blitt skadet. De brukes også til roboter, plottere, konvensjonelle skrivere, skannere, elektroniske kjøretøy og en lang osv.

DRV8825

Kontrollmodul
Kontrollmodul
Ingen rangeringer

Det er flere modeller av drivere på markedet. For eksempel ham DRV8825 er en oppgradert versjon av A4988. Denne driveren trenger bare to digitale utganger fra mikrokontrolleren for å kunne håndtere motoren riktig. Bare med det kan du kontrollere retningen og trinnet til motoren med disse to signalene. Det vil si at med dette er det mulig å utføre trinn, eller at motoren kan rotere trinn for trinn i stedet for å rotere raskt som andre enkle motorer.

DRV8825 tillater å jobbe med høyere spenninger enn de som brukes av A4988, siden den kan nå 45v i stedet for 35v til A4988. Den kan også håndtere høyere strømmer, spesielt 2.5A, det er en halv forsterker mer enn A4988. I tillegg til alt dette, legger denne nye driveren til en ny 1/32 mikrostepping-modus (1/16 for A4988) for å kunne bevege trinnmotorakselen mer presist.

ellers de er ganske like. Begge kan for eksempel nå høye driftstemperaturer uten problemer. Derfor, hvis du følger dem med en liten varmeavleder, mye bedre (mange modeller har den allerede), spesielt hvis du skal bruke den over 1A.

Hvis innkapslingen når høye temperaturer, bør du slå den av som en forholdsregel. Det ville være fint å konsultere dataark av modellen du har kjøpt og se den maksimale temperaturen den kan fungere under. Å legge til en temperatursensor ved siden av sjåføren for å overvåke temperaturen og bruke en krets som avbryter driften hvis den når den grensetemperaturen, anbefales på det sterkeste ...

DRV8825 har beskyttelse mot problemer av overstrøm, kortslutning, overspenning og overtemperatur. Derfor er de veldig pålitelige og motstandsdyktige enheter. Og alt for en ganske lav pris i spesialforretninger hvor du finner denne komponenten.

Mikrostepping

mikrostepping

Med teknikken til mikrostegetrinn lavere enn det nominelle trinnet kan oppnås av trinnmotoren du skal bruke. Det vil si dele opp svingen i flere porsjoner for å kunne gå langsommere eller mer presist. For å gjøre dette varieres strømmen på hver spole ved å emulere en analog verdi med de tilgjengelige digitale signalene. Hvis perfekte sinusformede analoge signaler oppnås og 90 ° ut av fase med hverandre, vil ønsket rotasjon oppnås.

Men selvfølgelig kan du ikke få det analoge signalet, fordi vi jobber med digitale signaler. Det er derfor disse bør behandles for å prøve å simulere det analoge signalet gjennom små hopp i det elektriske signalet. Oppløsningen til motoren vil avhenge av dette: 1/4, 1/8, 1/16, 1/32, ...

For å velge den oppløsningen du vil ha, må du kontrollere M0, M1 og M2 pinnene på modulen. Pinnene er koblet til jord eller GND gjennom opptrekksmotstander, så hvis ingenting er koblet til vil de alltid være LAV eller 0. For å endre denne verdien, må du tvinge verdien 1 eller HØY. De verdiene M0, M1, M2 henholdsvis de som må være i samsvar med oppløsningen, er:

  • Fullt trinn: Lav, Lav, Lav
  • 1/2: Høy, Lav, Lav
  • 1/4: Lav, Høy, Lav
  • 1/8: Høy, Høy, Lav
  • 1/16: Lav, Lav, Høy
  • 1/32: alle andre mulige verdier

pinout

DRV8825 pinne ut

El DRV8825 driver har en enkel tilkoblingsordning, selv om det å ha nok pinner kan være litt komplisert for mindre eksperter. Du kan se det på bildet ovenfor, men sørg for å plassere modulen riktig når du ser på pinnene, siden det er vanlig å gjøre feil og ta den invertert, noe som resulterer i en dårlig forbindelse og til og med skade.

Como anbefaling om å koble til driveren, anbefales det å justere og kalibrere enheten riktig ved å følge trinnene nedenfor for riktig bruk og ikke for å skade den:

  1. Koble driveren til spenningen uten motor tilkoblet eller mikrosteg.
  2. Mål med et multimeter spenningen som eksisterer mellom GND og potensiometeret.
  3. Juster potensiometeret til det er riktig verdi.
  4. Nå kan du det slå av strømmen.
  5. I dette øyeblikket kan du koble til motoren. Og koble strømmen til dykkeren på nytt.
  6. Med multimeter-tiltaket intensiteten mellom føreren og motoren trinn for trinn, og du kan foreta en finere justering av potensiometeret.
  7. Slå av strømmen igjen og du kan nå koble den til Arduino.

Hvis du ikke skal bruke microstepping kan du justere intensiteten til regulatoren opptil 100% av motorens nominelle strøm. Men hvis du skal bruke den, må du redusere denne grensen, siden verdien som vil sirkulere vil være høyere enn den målte ...

l298n
Relatert artikkel:
L298N: modul for å kontrollere motorer for Arduino

Integrasjon med Arduino

ARduino og DRV8825 skjematisk

For å bruke DRV8825-driveren med Arduino, forbindelsen er ganske enkel som du kan se øverst i dette elektroniske skjemaet fra Fritzing:

  • VMOT: koblet til strøm opptil 45v maksimalt.
  • GND: bakken (motor)
  • SLP: ved 5v
  • RST: ved 5v
  • GND: til bakken (logikk)
  • STP: til Arduino pin 3
  • DIR: til Arduino pin 2
  • A1, A2, B1, B2: til trinn (motor)

Når den er koblet til og riktig justert, er koden for kontrollen også grei. For eksempel, for å kontrollere en trinnmotor kan du bruke følgende kode i 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);
}

Jeg anbefaler deg å også prøve noen kodeeksempler som du finner blant eksemplene som følger med Arduino IDE, og prøve å endre verdier for å lære hvordan det påvirker motoren.

Til mer om trinnmotorer, deres kontroll og Arduino-programmering, anbefaler jeg last ned programmeringskurset vårt gratis.


3 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Jesus sa

    Hei, jeg bygger en hjemmelaget CNC med drv8825, spørsmålet mitt er om jeg kan sette nema 23 2.8a motorer siden de er noe billigere enn 2.5a, ville jeg ha et problem? Takk skal du ha

    1.    Isaac sa

      Hei Jesus,
      Takk for at du leser oss. Når det gjelder spørsmålet ditt, må du holde øye med driveren du skal bruke, slik at den er kompatibel med disse motorene. Saken til DRV8825 er opp til maksimalt 2.5A. Se for å se TB6600, som kan gå opp til 3.5A hvis jeg ikke husker riktig ...
      En hilsen!

  2.   Rodolfo sa

    Salaudos. Hva er verdien av den elektrolytiske kondensatoren som er i motorens strømforsyning. Takk.