„Arduino“ biblioteka 28BYJ-48 žingsninio variklio ir ULN2003 tvarkyklės: 3 žingsniai

„Arduino“ biblioteka 28BYJ-48 žingsninio variklio ir ULN2003 tvarkyklės: 3 žingsniai

Turinys:

Anonim

28BYJ-48 žingsninis variklis su ULN2003 vairuotoju dabar atrodo gana paplitusi konfigūracija. Variklis ir vairuotojas yra lengvai prieinami ir pigūs. Tačiau standartinė arduino žingsnio variklio biblioteka tiesiog neveikia su šia konfigūracija! Matyt kažką daryti su seka, reikalinga 28BYJ-48 sukimui.

Ši neįvykdoma programa parodys, kaip parašyti paprastą biblioteką, kuri palengvins gyvenimą 28BYJ-48 naudojimui ateityje. Aš pamačiau keletą galimų sprendimų (netgi dar kartą rašau pulso seką), bet aš nesu patenkintas, todėl nusprendžiau parašyti savo.

Darome prielaidą, kad turite pagrindinį supratimą apie C ++ ir stepper motor teoriją.

Kodą ir įgyvendinimą galite gauti iš „EngyFun“ tinklaraščio adresu:

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

Prekės:

1 žingsnis: StepperMotor.h

Pradėkime rašydami StepperMotor klasę.

Sukurkite failą, pavadintą „StepperMotor.h“, ir nukopijuokite kodą į paveikslėlį.

Jei turite C + + supratimą, tada klasės apibrėžimas kalbės už save.

2 žingsnis: StepperMotor.cpp

Dabar parašykime klasės sąsają.

Sukurkite failą, pavadintą „StepperMotor.cpp“, ir nukopijuokite kodą vaizduose.

Pažvelkime į 4 linijos konstruktorių. Pradedame paskirti naudotojo pasirinktus kaiščius į įvesties kaiščius 6–9 eilutėse. Tai leis lengviau pasiekti PIN numerius vairavimo algoritme.

12 eilutėje mes kartojame per įvesties kaiščio masyvą ir nustatome kiekvieną kaištį į OUTPUT režimą.

15 eilutėje numatytasis žingsnio trukmė yra 50 ms.

18 eilutėje mes turime žingsnio trukmės nustatymą. Tai savaime suprantama.

Dabar pažvelkime į žingsnio metodą. Tai leidžia žingsnio varikliui pakelti į metodą perduotų kartų skaičių.

28 eilutėje apibrėžiame sukimosi seką naudojant 2d masyvą. Eilutės žymi žingsnį, o stulpeliai - išvesties kaiščiai.

37 eilutėje apskaičiuojame koeficientą, kuris bus +1 arba -1, priklausomai nuo perduotų žingsnių skaičiaus. Ši vertė yra reikalinga algoritme, kad nukreiptų iteracijos kryptį per sekos masyvą, t. Y. Pakeičiant sukimosi kryptį.

38 eilutėje mes teigiame, kad dizainas yra teigiamas.

44 eilutėje pradėsime kilpą, kuris veiks kiekvienai sukimosi sekos pradžiai, t. Y. Kas 8 žingsnių pradžioje.

45 eilutėje mes pradedame kitą kilpą, kuri kartojasi per sekos masyvo eilutes.

46 eilutėje mes vėluojame, nes nurodoma trukmė.

47 eilutėje mes kartojame per PIN numerius.

48 eilutėje skaitmeninį signalą rašome iki dabartinio PIN kodo.

Jei veiksnys yra neigiamas, sekos masyvo eilutės pasiekiamos priešinga kryptimi 48 eilutėje, kai rašome prie kaiščių. 8 yra atimamas iš eilės skaičiaus … todėl mes galime pasiekti iš apačios į viršų.

3 veiksmas: prieiga prie bibliotekos iš „Arduino IDE“

Dabar mes turime tiesiog pridėti šiuos failus į arduino IDE bibliotekos katalogą. Tai leis mums importuoti šią biblioteką IDE naudoti.

Eikite į šį katalogą:

C: Programos failai (x86) Arduino bibliotekos

tada sukurkite aplanką „StepperMotor“.

Dabar į sukurtą aplanką įdėkite.h ir.cpp failus.

Dabar galite importuoti biblioteką iš IDE. (eskizas> importo biblioteka …> StepperMotor)

2 žmonės sukūrė šį projektą!

  • johnnyfrx padarė jį!

  • brdavid padarė jį!

Ar padarėte šį projektą? Pasidalink su mumis!

Rekomendacijos

  • SKY CAM yra oro kameros sprendimas

  • „Arduino Air Bonsai Levitation“

  • Daiktų interneto klasė

  • Medienos apdirbimo konkursas

  • „Fandom“ konkursas

  • Arduino konkursas 2019

8 Diskusijos

0

jplaiss

prieš 3 metus

… Arduino ULNStepper ULNStepper.ino: 2: 26: mirtina klaida: StepperMotor.h: Nėra tokio failo ar katalogo

#include

Išlieka.

2 atsakymai 0

DikaM2 jplaiss

Atsakyti prieš 3 mėnesius

Manau, kad bibliotekoje nėra bibliotekos

0

JeremieL8 jplaiss

Atsakyti prieš 2 metus

tas pats čia..

0

tahirulhaq

Prieš 1 metus

Nuostabus darbas !!!

0

Drumpeter

Prieš 2 metus

Veikia puikiai! Yra galimybė leisti jam pasukti greičiau nei 1 žingsnis per mikrosekundę? Jei suprantu, kad teisinga, biblioteka supranta tik sveikus skaičius. Kaip tai pakeisti?

0

jplaiss

prieš 3 metus

Čia nieko trūksta.

Ką turėčiau naudoti norint sukurti.h ir.cpp failus?

Kaip susieti šią funkciją ir sukurti biblioteką, kuri bus įdiegta IDE?

Iki šiol padarysiu du užrašų knygelės dokumentus, kurie, pažymėti sufiksais, atrodo tokie patys kaip ir bet kuri kita biblioteka. Bandžiau įterpti šiuos dokumentus į pagrindinį failą, įdėti juos į kitą pagrindinio failo failą, turėti juos tokiu pačiu lygiu, kaip ir bandymo kodas, ir kelis kartojimus žongliuoti.

Prašome padėti.

0

funkcionalumas

prieš 3 metus

Labai graži informacija! Aš pagaliau gavau šį žingsnį paleisti. Norėčiau naudoti mygtukus valdyti greitį / aps./min. Kokia vertė turi būti pakeista, kad ji būtų greitesnė? Galiu tai padaryti lėčiau keičiant motor.setStepDuration (1) vertę, bet kas greičiau?

0

Billdwp

Prieš 3 metus antrajame etape

Puikus, puikus, naudingas; Ačiū!