DRV8825: ang driver para sa stepper motors

drv8825

Un driver ng motor Ito ay isang circuit na nagpapahintulot sa direktang kasalukuyang mga motor na makontrol sa isang napaka-simpleng paraan. Pinapayagan ng mga kontroler na ito ang pamamahala ng mga voltages at alon kung saan ang motor ay ibinibigay upang makontrol ang bilis ng pag-ikot. Bilang karagdagan, nagsisilbi silang paraan ng proteksyon upang maiwasan ang pagkasira ng electronics ng mga motor sa pamamagitan ng paglilimita sa kasalukuyang umikot (chopping).

Samakatuwid, kung lumikha ka ng isang proyekto sa DIY na gagawin isama ang isa o higit pang mga DC motorAnumang uri ng mga ito, at lalo na para sa mga stepper motor, dapat kang gumamit ng isang driver ng motor upang gawing mas madali ang mga bagay para sa iyo. Bagaman may mga pamamaraan upang gawin ito nang iba, ang paggamit ng mga transistor, ang mga module na may mga driver ng motor ay mas praktikal at prangka. Sa katunayan, ang mga driver na ito ay umaasa sa mga transistor upang gawin ang kanilang trabaho ...

Bakit kailangan ko ng driver?

El driver ay kinakailangan para sa motor control, kagaya ng sinabi ko kanina. Gayundin, dapat mong tandaan na ang Arduino board at ang microcontroller nito ay hindi kayang paandar ang paggalaw ng motor. Ito ay simpleng dinisenyo para sa mga digital signal, ngunit hindi ito gagana nang maayos kapag ang kaunting lakas ay kailangang ibigay tulad ng hinihingi ng mga ganitong uri ng motor. Iyon ang dahilan kung bakit kailangan mong magkaroon ng sangkap na ito sa pagitan ng Arduino board at ng mga motor.

Mga uri ng driver

Dapat mong malaman iyon maraming uri ng mga driver depende sa uri ng makina kung saan nilalayon ang mga ito. Ito ay mahalagang malaman kung paano ito makilala upang makuha ang tamang driver:

  • Driver para sa unipolar motor: sila ang pinakasimpleng kontrolin, dahil ang kasalukuyang dumadaloy sa mga coil ay palaging papunta sa parehong direksyon. Dapat alam lamang ng trabaho ng drayber kung aling mga coil ang mayroon nito upang mai-aktibo sa bawat pulso. Ang isang halimbawa ng ganitong uri ng controller ay ang ULN2003A.
  • Driver para sa bipolar motor: ang mga motor na ito ay mas kumplikado at ang kanilang mga driver ay masyadong, tulad ng DRV8825. Sa kasong ito maaari silang buhayin sa kasalukuyang sa isang direksyon o sa iba pang (hilaga-timog at timog-hilaga). Ang drayber ang magpapasya sa direksyon upang baguhin ang polarity ng magnetic field na ginawa sa loob ng motor. Ang pinakakilalang circuit para sa pag-reverse ng direksyon ay tinatawag na Punete H, na pinapayagan ang motor na paikutin sa magkabilang direksyon. Ang H-bridge na iyon ay binubuo ng maraming mga transistor.

Ang huli ay naging mas tanyag sa mga nagdaang taon dahil kasama rin sila sa ilan 3D printer upang makontrol ang pag-print gamit ang ulo. Posible na kung balak mong i-mount ang isang 3D printer o kung mayroon ka na, kakailanganin mo ang isa sa mga ito upang makontrol ang motor o mapalitan ang bahaging ito kung nasira ito. Ginagamit din ang mga ito para sa mga robot, plotter, maginoo na mga printer, scanner, elektronikong sasakyan, at mahaba atbp.

DRV8825

Mayroong maraming mga modelo ng mga driver sa merkado. Halimbawa, siya Ang DRV8825 ay isang na-upgrade na bersyon ng A4988. Kailangan lamang ng driver na ito ng dalawang digital output mula sa microcontroller upang mapanghawakan nang maayos ang motor. Sa pamamagitan lamang nito maaari mong makontrol ang direksyon at ang hakbang ng motor sa dalawang signal na ito. Iyon ay, sa pamamagitan nito posible na magsagawa ng stepping, o para sa motor na paikutin ang hakbang-hakbang sa halip na mabilis na umiikot tulad ng iba pang mga simpleng motor.

Pinapayagan ng DRV8825 ang pagtatrabaho sa mga voltages na mas mataas kaysa sa ginamit ng A4988, mula noon maaari itong umabot sa 45v sa halip na 35v ng A4988. Maaari rin itong hawakan ang mas mataas na mga alon, partikular ang 2.5A, na kalahati ng isang amp higit sa A4988. Bilang karagdagan sa lahat ng iyon, ang bagong driver na ito ay nagdaragdag ng isang bagong 1/32 microstepping mode (1/16 para sa A4988) upang mas tumpak na ilipat ang stepper motor shaft.

Kung hindi medyo magkatulad sila. Halimbawa, ang parehong maaaring maabot ang mataas na temperatura ng operating nang walang problema. Samakatuwid, kung sinamahan mo sila ng isang maliit na heatsink, mas mabuti (maraming mga modelo na ang isama ito), lalo na kung gagamitin mo ito sa itaas ng 1A.

Kung ang encapsulation ay umabot sa mataas na temperatura, bilang pag-iingat dapat mong patayin ito. Masarap kumunsulta sa mga datasheet ng modelo na iyong binili at makita ang maximum na temperatura kung saan ito maaaring gumana. Ang pagdaragdag ng isang sensor ng temperatura sa tabi ng drayber upang subaybayan ang temperatura at gumamit ng isang circuit na nakakagambala sa operasyon kung maabot nito ang limitadong temperatura ay lubos na inirerekomenda ...

Ang DRV8825 ay mayroon proteksyon laban sa mga problema ng overcurrent, short circuit, overvoltage at overtemperature. Samakatuwid, ang mga ito ay napaka maaasahan at lumalaban aparato. At lahat para isang medyo mababang presyo sa mga dalubhasang tindahan kung saan mo mahahanap ang sangkap na ito.

microstepping

microstepping

Gamit ang pamamaraan ng ang mga hakbang sa microstepping na mas mababa kaysa sa nominal na hakbang ay maaaring makamit ng stepper motor na gagamitin mo. Iyon ay, hatiin ang pagliko sa maraming mga bahagi upang makapag-advance nang mas mabagal o mas tumpak. Upang magawa ito, ang kasalukuyang inilalapat sa bawat coil ay iba-iba sa pamamagitan ng pagtulad sa isang halagang analog na magagamit ang mga digital signal. Kung ang perpektong sinusoidal analog signal ay nakamit at 90º sa labas ng phase sa bawat isa, ang nais na pag-ikot ay makakamit.

Ngunit syempre, hindi mo makukuha ang analog signal na iyon, dahil nagtatrabaho kami sa mga digital signal. Iyon ang dahilan kung bakit dapat tratuhin ang mga ito upang subukang gayahin ang analog signal sa pamamagitan ng maliliit na pagtalon sa signal ng elektrisidad. Ang resolusyon ng motor ay nakasalalay dito: 1/4, 1/8, 1/16, 1/32, ...

Upang mapili ang resolusyon na nais mo dapat mong kontrolin ang M0, M1 at M2 na mga pin ng module. Ang mga pin ay konektado sa lupa o GND sa pamamagitan ng mga resistors na pull-up, kaya kung walang nakakonekta ay palaging magiging Mababa o 0. Upang baguhin ang halagang ito, pipilitin mo ang halagang 1 o TAAS. Ang mga halagang M0, M1, M2 ayon sa pagkakabanggit sa mga dapat na ayon sa resolusyon, ay:

  • Buong hakbang: Mababa, Mababa, Mababa
  • 1/2: Mataas, Mababa, Mababa
  • 1/4: Mababa, Mataas, Mababa
  • 1/8: Mataas, Mataas, Mababa
  • 1/16: Mababa, Mababa, Mataas
  • 1/32: lahat ng iba pang mga posibleng halaga

pinout

Pinout ng DRV8825

El Ang driver ng DRV8825 ay may isang simpleng scheme ng koneksyon, bagaman ang pagkakaroon ng sapat na mga pin ay maaaring maging medyo kumplikado para sa hindi gaanong dalubhasa. Maaari mo itong makita sa imahe sa itaas, ngunit siguraduhing iposisyon nang maayos ang module kapag tinitingnan ang mga pin, dahil karaniwan itong magkakamali at dalhin ito sa baligtad, na nagreresulta sa isang hindi magandang koneksyon at kahit pinsala.

Como rekomendasyon upang ikonekta ang driver, inirerekumenda na maayos na ayusin at i-calibrate ang aparato sa pamamagitan ng pagsunod sa mga hakbang sa ibaba para sa wastong operasyon at hindi ito mapinsala:

  1. Ikonekta ang driver sa boltahe nang walang koneksyon sa motor o microstepping.
  2. Sukatin sa isang multimeter ang tensyon na umiiral sa pagitan ng GND at ng potentiometer.
  3. Ayusin ang potentiometer hanggang sa ito ay ang tamang halaga.
  4. Ngayon ay maaari ka patayin ang lakas.
  5. Sa sandaling ito oo maaari mo ikonekta ang motor. At ikonekta muli ang lakas sa maninisid.
  6. Sa pagsukat ng multimeter ang tindi ng driver at ng motor hakbang-hakbang at maaari kang gumawa ng isang mas pinong pagsasaayos ng potensyomiter.
  7. Patayin ulit ang kuryente at maaari mo na itong ikonekta sa Arduino.

Kung hindi mo gagamitin Maaari mong ayusin ang microstepping ang tindi ng regulator hanggang sa 100% ng na-rate na kasalukuyang motor. Ngunit kung gagamitin mo ito, dapat mong bawasan ang limitasyong ito, dahil ang halaga na pagkatapos ay magpapalipat-lipat ay magiging mas mataas kaysa sa sinusukat ...

l298n
Kaugnay na artikulo:
L298N: module upang makontrol ang mga motor para sa Arduino

Pagsasama sa Arduino

Skema ng ARduino at DRV8825

Upang magamit ang driver ng DRV8825 kasama ang Arduino, ang koneksyon ay medyo simple tulad ng nakikita mo sa tuktok sa elektronikong eskematiko na ito mula sa Fritzing:

  • VMOT: nakakonekta sa lakas hanggang sa 45v maximum.
  • GND: lupa (motor)
  • SLP: sa 5v
  • RST: sa 5v
  • GND: sa lupa (lohika)
  • STP: sa Arduino pin 3
  • DIR: sa Arduino pin 2
  • A1, A2, B1, B2: sa stepper (motor)

Kapag nakakonekta at maayos na naayos, ang code para sa kontrol nito ay prangka rin. Halimbawa, upang makontrol ang isang stepper motor maaari mong gamitin ang sumusunod code sa 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);
}

Pinapayuhan ko kayo na subukan din ang ilang mga halimbawa ng code na mahahanap mo sa mga halimbawang kasama ng Arduino IDE at subukang baguhin ang mga halaga upang malaman kung paano ito nakakaapekto sa motor.

Sa higit pang impormasyon tungkol sa mga stepper motor, ang kanilang control at Arduino program, inirerekumenda ko i-download ang aming kurso sa programa nang libre.


3 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Hesus dijo

    Kumusta, bumubuo ako ng isang lutong bahay na CNC na may drv8825, ang aking katanungan ay kung maaari kong ilagay ang nema 23 2.8a na mga motor dahil medyo mas mura kaysa sa 2.5a, magkakaroon ba ako ng problema? Salamat

    1.    Isaac dijo

      Hello Jesus,
      Salamat sa pagbabasa sa amin. Tungkol sa iyong pag-aalinlangan, pagmasdan ang driver na iyong gagamitin upang ito ay katugma sa mga engine na iyon. Ang kaso ng DRV8825 ay hanggang sa isang maximum na 2.5A. Hanapin upang makita ang TB6600, na maaaring umakyat sa 3.5A kung natatandaan ko nang tama ...
      Pagbati!

  2.   Rodolfo dijo

    Salaudos. Ano ang halaga ng electrolytic capacitor na nasa power supply ng motor. Salamat