- Stepper Motors:
- Kinakalkula ang Mga Hakbang bawat Revolution para sa Stepper Motor:
- Bakit kailangan natin ang mga module ng Driver para sa Stepper motors?
- Arduino Stepper Motor Position Control Circuit Diagram at Paliwanag:
- Code para sa Arduino Board:
- Paggawa ng Stepper Motor na may Arduino:
Ang mga stepper motor ay lalong kinukuha ang posisyon nito sa mundo ng electronics. Simula mula sa isang normal na camera ng Surveillance hanggang sa isang kumplikadong mga machine ng CNC / Robot ang mga stepper motor na ito ay ginagamit saanman bilang mga actuator dahil nagbibigay sila ng tumpak na pagkontrol. Ang isang Stepper Motor ay isang walang brush, kasabay na motor na nakumpleto ang isang buong pag-ikot sa isang bilang ng mga hakbang. Sa Arduino stepper motor tutorial na ito matututunan natin ang tungkol sa pinakakaraniwang magagamit na stepper motor 28-BYJ48 at kung paano ito i-interface sa Arduino gamit ang ULN2003 stepper motor module.
Stepper Motors:
Tingnan natin ang motor na 28-BYJ48 Stepper na ito.
Okay, kaya hindi tulad ng isang normal na DC motor ang isang ito ay may limang mga wire ng lahat ng mga magagarang kulay na lumalabas dito at bakit ganito? Upang maunawaan ito dapat muna nating malaman kung paano gumagana ang isang stepper at kung ano ang pagiging dalubhasa nito. Una sa lahat ang mga steppers motor ay hindi paikutin, lumalakad sila at kilala rin sila bilang step motor. Ibig sabihin, isang hakbang lang ang galaw nila. Ang mga motor na ito ay mayroong isang pagkakasunud-sunod ng mga coil na naroroon sa kanila at ang mga coil na ito ay kailangang palakasin sa isang partikular na paraan upang paikutin ang motor. Kapag ang bawat likaw ay pinalakas ang motor ay tumatagal ng isang hakbang at ang isang pagkakasunud-sunod ng energization ay gagawa ng motor na tuloy-tuloy na mga hakbang, kaya't paikutin ito. Tingnan natin ang mga coil na naroroon sa loob ng motor upang malaman ang eksaktong alam mula sa kung saan nagmula ang mga wires na ito.
Tulad ng nakikita mo na ang motor ay may pag-aayos ng coil ng Unipolar 5-lead. Mayroong apat na mga coil na kailangang palakasin sa isang partikular na pagkakasunud-sunod. Ang mga Red wires ay bibigyan ng + 5V at ang natitirang apat na wires ay hilahin sa lupa para sa pag-trigger ng kani-kanilang coil. Gumagamit kami ng isang microcontroller tulad ng Arduino na nagpapalakas ng mga coil na ito sa isang partikular na pagkakasunud-sunod at ginampanan ang motor ng kinakailangang bilang ng mga hakbang.
Kaya ngayon, bakit tinawag itong motor na ito na 28-BYJ48 ? Grabe !!! Hindi ko alam Walang teknikal na dahilan para sa motor na ito para sa pagngangalang ganoon; marahil dapat tayong sumisid dito. Tingnan natin ang ilang mahahalagang teknikal na data na nakuha mula sa datasheet ng motor na ito sa larawan sa ibaba.
Iyon ay isang punong puno ng impormasyon, ngunit kailangan nating tingnan ang ilang mahahalagang malaman upang malaman kung anong uri ng stepper ang ginagamit namin upang maisagawa namin ito ng programa nang mahusay. Una alam namin na ito ay isang 5V Stepper motor dahil pinapag-energize namin ang Red wire na may 5V. Pagkatapos, alam din natin na ito ay isang apat na phase stepper motor dahil mayroon itong apat na coil dito. Ngayon, ang ratio ng gear ay ibinibigay na 1:64. Nangangahulugan ito na ang baras na nakikita mo sa labas ay gagawa lamang ng isang kumpletong pag-ikot kung ang motor sa loob ay umiikot ng 64 beses. Ito ay dahil sa mga gears na konektado sa pagitan ng motor at output shaft, ang mga gears na ito ay tumutulong sa pagtaas ng metalikang kuwintas.
Ang isa pang mahalagang data na mapapansin ay ang Stride Angle: 5.625 ° / 64. Nangangahulugan ito na ang motor kapag nagpapatakbo sa pagkakasunud-sunod ng 8-hakbang ay lilipat ng 5.625 degree para sa bawat hakbang at kukuha ng 64 na hakbang (5.625 * 64 = 360) upang makumpleto ang isang buong pag-ikot. Maaari kang matuto nang higit pa tungkol sa pagtatrabaho ng mga stepper motor na may ARM LPC2148, ATMega16 Microcontroller, MSP430.
Kinakalkula ang Mga Hakbang bawat Revolution para sa Stepper Motor:
Mahalagang malaman kung paano makalkula ang mga hakbang sa bawat Rebolusyon para sa iyong stepper motor sapagkat doon mo lamang ito maipaprogram nang epektibo.
Sa Arduino ay pinapatakbo namin ang motor sa 4-step na pagkakasunud-sunod kaya ang angulo ng hakbang ay 11.25 ° dahil ito ay 5.625 ° (ibinigay sa datasheet) para sa 8 hakbang na pagkakasunud-sunod ay 11.25 ° (5.625 * 2 = 11.25).
Mga hakbang sa bawat rebolusyon = 360 / anggulo ng hakbang
Dito, 360 / 11.25 = 32 mga hakbang sa bawat rebolusyon.
Bakit kailangan natin ang mga module ng Driver para sa Stepper motors?
Karamihan sa mga stepper motor ay gagana lamang sa tulong ng isang module ng driver. Ito ay dahil ang module ng magsusupil (Sa aming kaso Arduino) ay hindi maaaring magbigay ng sapat na kasalukuyang mula sa mga I / O na pin para sa motor na gumana. Sa gayon gagamitin namin ang isang panlabas na module tulad ng ULN2003 module bilang stepper motor driver. Mayroong maraming uri ng module ng driver at ang rating ng isa ay magbabago batay sa uri ng motor na ginamit. Ang pangunahing prinsipyo para sa lahat ng mga module ng pagmamaneho ay ang pagmulan / paglubog ng sapat na kasalukuyang para gumana ang motor.
Arduino Stepper Motor Position Control Circuit Diagram at Paliwanag:
Ang circuit Diagram para sa proyekto ng pagkontrol ng motor ng arduino stepper ay ipinakita sa itaas. Ginamit namin ang 28BYJ-48 Stepper motor at ang ULN2003 Driver module. Upang pasiglahin ang apat na coil ng stepper motor na ginagamit namin ang mga digital na pin na 8,9,10 at 11. Ang module ng driver ay pinalakas ng 5V pin ng Arduino Board.
Ngunit, paganahin ang driver ng suplay ng External Power kapag kumokonekta ka sa ilang pagkarga sa steppe motor. Dahil gumagamit lang ako ng motor para sa layunin ng demonstration ginamit ko ang + 5V rail ng Arduino Board. Tandaan din na ikonekta ang Ground ng Arduino sa lupa ng module ng Diver.
Code para sa Arduino Board:
Bago kami magsimula sa pag-program sa aming Arduino, ipaalam sa amin na malaman kung ano ang dapat talagang mangyari sa loob ng programa. Tulad ng sinabi kanina ay gagamit kami ng 4-hakbang na pamamaraan ng pagkakasunud-sunod upang magkakaroon kami ng apat na mga hakbang upang maisagawa para sa paggawa ng isang kumpletong pag-ikot.
Hakbang |
Pin Energized |
Ang mga Coil ay Energized |
Hakbang 1 |
8 at 9 |
A at B |
Hakbang 2 |
9 at 10 |
B at C |
Hakbang 3 |
10 at 11 |
C at D |
Hakbang 4 |
11 at 8 |
D at A |
Ang module ng Driver ay magkakaroon ng apat na LED gamit ang kung saan maaari naming suriin kung aling likaw ang pinalakas sa anumang naibigay na oras. Ang video na nagpapakita ng pagkakasunud-sunod ng energization ay matatagpuan sa pagtatapos ng tutorial na ito.
Sa tutorial na ito isusulat namin ang arduino stepper motor code at para doon ipaprogram namin ang Arduino sa isang paraan na maaari naming ipasok ang bilang ng mga hakbang na gagawin ng stepper motor sa pamamagitan ng serial monitor ng Arduino. Ang kumpletong programa ay matatagpuan sa pagtatapos ng tutorial ilang mga mahahalagang linya ang ipinaliwanag sa ibaba.
Ang bilang ng mga hakbang sa bawat rebolusyon para sa aming stepper motor ay kinakalkula na 32; kaya't ipinasok namin iyon tulad ng ipinakita sa linya sa ibaba
# tukuyin ang mga Hakbang 32
Susunod kailangan mong lumikha ng mga pagkakataong tinukoy namin ang mga pin kung saan ikinonekta namin ang Stepper motor.
Stepper stepper (STEPS, 8, 10, 9, 11);
Tandaan: Ang numero ng mga pin ay disordered bilang 8,10,9,11 na sadya. Kailangan mong sundin ang parehong pattern kahit na baguhin mo ang mga pin kung saan nakakonekta ang iyong motor.
Dahil gumagamit kami ng Arduino stepper library, maitatakda namin ang bilis ng motor gamit ang linya sa ibaba. Ang bilis ay maaaring saklaw sa pagitan ng 0 hanggang 200 para sa 28-BYJ48 stepper motors.
stepper.setSpeed (200);
Ngayon, upang ilipat ang motor ng isang hakbang maaari naming magamit ang sumusunod na linya.
stepper.step (val);
Ang bilang ng mga hakbang na ililipat ay ibibigay ng variable na "val". Dahil mayroon kaming 32 mga hakbang at 64 bilang gear ratio na kailangan namin upang ilipat ang 2048 (32 * 64 = 2048), upang makagawa ng isang kumpletong pag-ikot.
Ang halaga ng variable na "val" ay maaaring ipasok ng gumagamit gamit ang serial monitor.
Paggawa ng Stepper Motor na may Arduino:
Kapag nagawa ang koneksyon ang hardware ay dapat magmukhang ganito sa larawan sa ibaba.
Ngayon, i-upload ang nasa ibaba na programa sa iyong Arduino UNO at buksan ang serial monitor. Tulad ng tinalakay nang mas maaga kailangan naming gumawa ng 2048 mga hakbang upang makagawa ng isang kumpletong pag-ikot, kaya't kapag ipinasok namin ang 2048 ang motor ay gagawa ng isang kumpletong pag-ikot sa direksyon ng pakanan sa pamamagitan ng paggawa ng 2048 na mga hakbang. Upang paikutin sa anti-clockwise ipasok lamang ang numero na may "-" negatibong pag-sign. Kaya, ang pagpasok ng -1024 ay gagawing motor upang paikutin ang kalahati ng paraan sa anti-relo na matalinong direksyon. Maaari kang magpasok ng anumang ninanais na halaga, tulad ng pagpasok ng 1gagawa ang motor na gumawa lamang ng isang hakbang.
Inaasahan kong naintindihan mo ang proyekto at nasiyahan sa pagbuo nito. Ang kumpletong pagtatrabaho ng proyekto ay ipinapakita sa video sa ibaba. Kung mayroon kang anumang pagdududa i-post ang mga ito sa seksyon ng komento sa ibaba ng aming mga forum.