Arduino Bibliotek til 28BYJ-48 Stepper Motor og ULN2003 Driver: 3 trin

Arduino Bibliotek til 28BYJ-48 Stepper Motor og ULN2003 Driver: 3 trin

Indholdsfortegnelse:

Anonim

28BYJ-48 steppermotoren med driveren ULN2003 ser nu ud til en almindelig konfiguration. Motoren og chaufføren er både let tilgængelige og billige. Standard Arduino Stepper Motor Library fungerer dog ikke bare med denne konfiguration! Tilsyneladende noget at gøre med sekvensen, der kræves til rotation af 28BYJ-48.

Dette instruerbare viser dig, hvordan du skriver et simpelt bibliotek, der vil gøre livet enklere for fremtidige anvendelser af 28BYJ-48. Jeg har set et par mulige løsninger (selv skriver pulssekvensen igen og igen), men jeg har ikke været tilfreds, så jeg besluttede at skrive min egen.

Vi går ud fra, at du har en grundlæggende forståelse af C ++ og stepper motorteori.

Du kan få koden og en implementering fra EngyFun-bloggen på:

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

forsyninger:

Trin 1: StepperMotor.h

Lad os begynde med at skrive StepperMotor-klassen.

Opret en fil kaldet StepperMotor.h og kopier koden i billedet.

Hvis du har en forståelse for C ++, så klasses definitionen vil tale for sig selv.

Trin 2: StepperMotor.cpp

Lad os nu skrive klassegrensesnittet.

Opret en fil, der hedder StepperMotor.cpp, og kopier koden i billederne.

Lad os se på konstruktøren på linje 4. Vi starter med at tildele brugerens valgte stifter til indgangsstiften på linjerne 6 til 9. Dette vil gøre det nemmere at få adgang til stiftnumrene i kørealgoritmen.

På linje 12 gentages vi gennem input pin array og indstiller hver pin til OUTPUT-tilstand.

På linje 15, vi standard trin varigheden til 50 ms.

På linje 18 har vi trinvarighedssæteren. Dette er selvforklarende.

Lad os nu se på trinmetoden. Dette gør det muligt for steppermotoren at træde antallet af gange, der overføres til metoden.

På linje 28 definerer vi rotationssekvensen ved hjælp af et 2d-array. Rækkerne repræsenterer et trin, og kolonnerne repræsenterer outputstifterne.

På linje 37 beregner vi faktor, som vil være +1 eller -1, afhængigt af tegn på det beståede antal trin. Denne værdi er påkrævet i algoritmen for at styre iterationsretningen gennem sekvensarrayet, dvs. for at ændre omdrejningsretningen.

På linje 38 gør vi noOfSteps positive, der kræves til designet.

På linje 44 begynder vi en sløjfe, der vil køre for hver start af en rotationssekvens, dvs. ved starten af ​​hver 8 trin.

På linje 45 begynder vi en anden sløjfe, der gentager gennem rækkerne af sekvensarrayen.

På linje 46, forsinker vi som varighed angiver.

På linje 47 gentages vi gennem pinnumrene.

På linje 48 skriver vi det digitale signal til det aktuelle pin nummer.

Hvis faktoren er negativ, er rækkefølgenes rækker tilgængelige i modsat retning på linie 48, når vi skriver til stifterne. 8 trækkes af rækken af ​​rækken … så vi får adgang fra bund til top.

Trin 3: Adgang til biblioteket fra Arduino IDE

Nu skal vi bare tilføje disse filer til arkduino IDEs bibliotekskatalog. Dette gør det muligt for os at importere dette bibliotek inden for IDE til brug.

Gå til følgende bibliotek:

C: Programmer (x86) Arduino biblioteker

og lav derefter en mappe med navnet StepperMotor.

Sæt nu.h og.cpp-filerne i den oprettede mappe.

Du kan nu importere biblioteket fra IDE. (skitse> importbibliotek …> StepperMotor)

2 personer lavede dette projekt!

  • johnnyfrx lavede det!

  • brdavid lavede det!

Har du lavet dette projekt? Del det med os!

anbefalinger

  • SKY CAM en antenne kamera løsning

  • Arduino Air Bonsai Levitation

  • Internet af Things Class

  • Træbearbejdningskonkurrence

  • Fandom Contest

  • Arduino Contest 2019

8 diskussioner

0

jplaiss

3 år siden

… Arduino ULNStepper ULNStepper.ino: 2: 26: fatale fejl: StepperMotor.h: Ingen sådan fil eller mappe

#omfatte

Holder op med at komme op.

2 svar 0

DikaM2 jplaiss

Besvar 3 måneder siden

Jeg tror, ​​at biblioteket ikke eksisterede i mappen

0

JeremieL8 jplaiss

Besvar 2 år siden

samme her..

0

tahirulhaq

1 år siden

Fantastisk arbejde !!!

0

Drumpeter

2 år siden

Fungerer godt! Er der en mulighed for at lade det dreje hurtigere end 1 trin pr. Mikrosekund? Hvis jeg forstår det rigtigt, forstår biblioteket kun heltal. Hvordan kan jeg ændre det?

0

jplaiss

3 år siden

Jeg mangler noget her.

Hvad skal jeg bruge til at oprette.h og.cpp-filer?

Hvordan skal jeg kombinere dette sammen for at oprette et bibliotek, der vil installere i IDE?

Jeg har hidtil lavet to notesblokdokumenter, at når de er mærket med suffikserne, er de samme som ethvert andet bibliotek jeg har. Jeg har forsøgt at indsætte disse dokumenter i en hovedfil, placeret dem i en anden fil indenfor hovedmenuen, havde dem på samme niveau som testkoden og jonglede bits af dette i nogle få iterationer.

Hjælp venligst.

0

functionaldesign

3 år siden

Meget flot information! Jeg fik endelig denne stepper til at køre. Jeg vil gerne bruge knapper til at styre hastigheden / omdr./min. Hvilken værdi skal ændres for at gøre det hurtigere? Jeg kan gøre det langsommere ved at ændre værdien i motor.setStepDuration (1), men hvad med hurtigere?

0

Billdwp

3 år siden på trin 2

Strålende, fremragende, hjælpsomme; tak skal du have!