- Stepper Motors:
- Kinakalkula ang Mga Hakbang bawat Revolution para sa Stepper Motor:
- Bakit kailangan natin ang mga module ng Driver para sa Stepper motors?
- Circuit Diagram para sa Rotating Stepper Motor na gumagamit ng Potentiometer:
- Code para sa Arduino Board:
- Nagtatrabaho:
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 Motors na ito ay ginagamit kahit saan bilang mga actuator dahil nagbibigay sila ng tumpak na pagkontrol. Sa tutorial na ito malalaman natin ang tungkol sa pinakakaraniwan / murang magagamit na stepper motor 28-BYJ48 at kung paano ito i-interface sa Arduino gamit ang ULN2003 stepper module.
Sa huling proyekto ay simpleng nag-interfaced kami ng Stepper Motor sa Arduino, kung saan maaari mong paikutin ang stepper motor sa pamamagitan ng pagpasok sa anggulo ng pag-ikot sa Serial Monitor ng Arduino. Dito sa proyektong ito, paikutin namin ang Stepper Motor gamit ang Potentiometer at Arduino, tulad ng kung iikot mo ang potensyomma pakanan pagkatapos ay iikot ang stepper ng pakaliwa at kung i-on mo ang potentiometer na anticlockwise pagkatapos ay iikot ito sa anticlockwise.
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.
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.
Circuit Diagram para sa Rotating Stepper Motor na gumagamit ng Potentiometer:
Ang circuit Diagram para sa Controlling Stepper Motor na gumagamit ng Potentiometer at Arduino 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. Ang isang potentiometer ay konektado sa A0 batay sa kaninong mga halaga ay paikutin namin ang Stepper motor.
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. Alalahanin din na ikonekta ang Ground ng Arduino sa lupa ng module ng Driver.
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 kumpletong video ng demonstrasyon ay matatagpuan sa pagtatapos ng tutorial na ito.
Sa tutorial na ito ipaprogram namin ang Arduino sa isang paraan na maaari naming buksan ang potentiometer na konektado sa pin A0 at makontrol ang direksyon ng Stepper motor. 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 pakaliwa na magagamit namin ang sumusunod na linya.
stepper.step (1);
Upang makagalaw ang motor ng isang hakbang na anti-clockwise maaari naming magamit ang sumusunod na linya.
stepper.step (-1);
Sa aming programa ay babasahin namin ang halaga ng Analog pin A0 at ihambing ito sa nakaraang halaga (Pval). Kung nadagdagan lumilipat kami ng 5 mga hakbang sa pakanan at kung ito ay nabawasan pagkatapos ay ilipat namin ang 5 mga hakbang sa anti-clockwise.
potVal = mapa (analogRead (A0), 0,1024,0,500); kung (potVal> Pval) stepper. hakbang (5); kung (potVal
Nagtatrabaho:
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 mong paikutin ang potensyomiter upang makontrol ang pag-ikot ng Stepper motor. Ang pag-ikot nito sa pakanan ay magpapasara sa stepper motor sa pakanan na direksyon at kabaliktaran.
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 o sa aming mga forum.