Arduino Library para sa 28BYJ-48 Stepper Motor at ULN2003 Driver: 3 Steps

Arduino Library para sa 28BYJ-48 Stepper Motor at ULN2003 Driver: 3 Steps

Talaan ng mga Nilalaman:

Anonim

Ang 28BYJ-48 stepper motor na may ULN2003 driver ngayon ay tila medyo isang pangkaraniwang configuration. Ang motor at driver ay parehong madaling magagamit, at mura. Gayunpaman, ang standard arduino stepper motor library ay hindi gumagana sa configuration na ito! Tila may kinalaman sa pagkakasunud-sunod na kinakailangan para sa pag-ikot ng 28BYJ-48.

Ang instructable na ito ay magpapakita sa iyo kung paano magsulat ng isang simpleng library na gagawing mas simple ang buhay para sa paggamit sa hinaharap ng 28BYJ-48. Nakita ko ang isang pares ng mga posibleng solusyon (kahit na nagsusulat ng pagkakasunud-sunod ng pulso nang paulit-ulit), ngunit hindi ako nasiyahan, kaya nagpasiya akong magsulat ng sarili ko.

Ipinapalagay namin na mayroon kang pangunahing pag-unawa sa C + + at stepper motor theory.

Maaari mong makuha ang code at isang pagpapatupad mula sa EngyFun blog sa:

http: //engyfun.blogspot.com.au/2015/02/here-is-sou …

Mga Kagamitan:

Hakbang 1: StepperMotor.h

Magsimula tayo sa pagsulat sa klase ng StepperMotor.

Gumawa ng isang file na tinatawag na StepperMotor.h at kopyahin ang code sa imahe.

Kung mayroon kang isang pag-unawa sa C ++, ang kahulugan ng klase ay magsasalita para sa sarili nito.

Hakbang 2: StepperMotor.cpp

Ngayon ay isulat natin ang interface ng klase.

Gumawa ng isang file na tinatawag na StepperMotor.cpp, at kopyahin ang code sa mga larawan.

Tingnan natin ang tagapagbuo sa linya 4. Magsisimula tayo sa pamamagitan ng pagtatalaga ng napiling mga pin ng gumagamit sa input pin array sa mga linya 6 hanggang 9. Ito ay gawing mas madali ang pag-access ng mga numero ng pin sa loob ng pagmamaneho algorithm.

Sa linya 12, mag-ulit kami sa pamamagitan ng input pin array, at itakda ang bawat pin sa OUTPUT mode.

Sa linya 15, pinalitan namin ang tagal ng hakbang sa 50 ms.

Sa linya 18 mayroon kaming setter ng tagal ng tagal. Ito ay maliwanag.

Ngayon tingnan natin ang hakbang na paraan. Pinapayagan nito ang stepper motor na hakbangin ang bilang ng mga beses na dumaan sa paraan.

Sa linya 28, tinutukoy namin ang pagkakasunod-sunod ng pag-ikot gamit ang isang 2d array. Ang mga hilera ay kumakatawan sa isang hakbang at ang mga hanay ay kumakatawan sa mga pin ng output.

Sa linya na 37 kinakalkula namin ang kadahilanan, na magiging +1 o -1, depende sa tanda ng lumipas na bilang ng mga hakbang. Ang halaga na ito ay kinakailangan sa algorithm upang idirekta ang direksyon ng pag-ulit sa pamamagitan ng sequence array, ibig sabihin upang baguhin ang direksyon ng pag-ikot.

Sa linya 38, gumawa kami ng noOfSteps positibo, kinakailangan para sa disenyo.

Sa linya 44, sinisimulan namin ang isang loop na tatakbo para sa bawat simula ng pagkakasunod-sunod ng pag-ikot, ibig sabihin sa simula ng bawat 8 na hakbang.

Sa linya 45, magsisimula kami ng isa pang loop na nag-ulit sa mga hilera ng array ng pagkakasunud-sunod.

Sa linya 46, naantala namin ang pagtiyak ng tagal.

Sa linya 47, umulit kami sa pamamagitan ng mga numero ng pin.

Sa linya 48, isinusulat namin ang digital signal sa kasalukuyang numero ng pin.

Kung ang kadahilanan ay negatibo, ang mga hanay ng hanay ng pagkakasunod-sunod ay naka-access sa kabaligtaran direksyon sa linya 48 kapag sumulat kami sa mga pin. 8 ay bawas sa pamamagitan ng bilang ng mga hilera … upang ma-access namin mula sa ibaba hanggang sa itaas.

Hakbang 3: Pag-access sa Library Mula sa Arduino IDE

Ngayon kailangan lang naming idagdag ang mga file na ito sa direktoryo ng library ng arduino IDE. Ito ay magpapahintulot sa amin na i-import ang library sa loob ng IDE para magamit.

Pumunta sa sumusunod na direktoryo:

C: Program Files (x86) Arduino libraries

at pagkatapos ay lumikha ng folder na tinatawag na StepperMotor.

Ngayon ay ilagay ang.h at.cpp file sa folder na nilikha.

Maaari mo na ngayong i-import ang library mula sa loob ng IDE. (sketch> import library …> StepperMotor)

Ginawa ng mga Tao ang Proyekto na Ito!

  • Ginawa ito ng johnnyfrx!

  • ginawa ito ni brdavid!

Ginawa mo ba ang proyektong ito? Ibahagi ito sa amin!

Mga rekomendasyon

  • SKY CAM isang Aerial Camera Solution

  • Arduino Air Bonsai Levitation

  • Internet ng Mga Bagay na Class

  • Woodworking Contest

  • Fandom Contest

  • Arduino Contest 2019

8 Mga Talakayan

0

jplaiss

3 taon na ang nakalilipas

… Arduino ULNStepper ULNStepper.ino: 2:26: nakamamatay na error: StepperMotor.h: Walang ganoong file o direktoryo

# isama

Patuloy na dumarating.

2 tugon 0

DikaM2 jplaiss

Sumagot 3 buwan na nakalipas

Sa palagay ko ang library ay hindi umiiral sa direktoryo

0

JeremieL8 jplaiss

Sumagot 2 taon na ang nakakaraan

parehong dito..

0

tahirulhaq

1 taon na ang nakalipas

Kahanga-hangang trabaho !!!

0

Drumpeter

2 mga taon na nakalipas

Maayos itong gumagana! May isang posibilidad na ipaalam ito ng mas mabilis pagkatapos 1 hakbang bawat microsecond? Kung naiintindihan ko na tama ang aklatan ay nauunawaan lamang ang integer. Paano ko mababago iyon?

0

jplaiss

3 taon na ang nakalilipas

Nawawalan ako ng isang bagay dito.

Ano ang dapat kong gamitin upang likhain ang mga file na h at.cpp?

Paano ko dapat i-bundle ang mga ito nang magkasama upang lumikha ng isang library na mag-i-install sa IDE?

Sa ngayon ay nakagawa ako ng dalawang notepad docs na kapag may label na mga suffix lumitaw ang katulad ng anumang iba pang library na mayroon ako. Sinubukan kong isingit ang mga dokumentong ito sa isang pangunahing file, inilagay ito sa isa pang file sa loob ng pangunahing, ay may mga ito sa parehong antas ng code ng pagsubok at juggled mga piraso ng ito sa ilang mga iteration.

Tulong po.

0

functionaldesign

3 taon na ang nakalilipas

Napakaganda ng impormasyon! Sa wakas ay nakuha ko ang stepper na ito upang tumakbo. Gusto kong gumamit ng mga pindutan upang makontrol ang bilis / rpm. Anong halaga ang kailangang baguhin upang gawin itong mas mabilis? Maaari kong gawin itong mas mabagal sa pamamagitan ng pagbabago ng halaga sa motor.setStepDuration (1) ngunit kung ano ang tungkol sa mas mabilis?

0

Billdwp

3 taon na ang nakakaraan sa Hakbang 2

Brilliant, mahusay, helpful; Salamat!