Arduino Library for 28BYJ-48 Stepper Motor og ULN2003 Driver: 3 trinn

Arduino Library for 28BYJ-48 Stepper Motor og ULN2003 Driver: 3 trinn

Innholdsfortegnelse:

Anonim

28BYJ-48-trinnmotor med driveren ULN2003 ser nå ut til å være ganske vanlig. Motoren og sjåføren er både lett tilgjengelig og billig. Standard Arduino Stepper Motor Library fungerer imidlertid ikke bare med denne konfigurasjonen! Tilsynelatende noe å gjøre med sekvensen som kreves for rotasjon av 28BYJ-48.

Dette instruerbare vil vise deg hvordan du skriver et enkelt bibliotek som vil gjøre livet enklere for fremtidig bruk av 28BYJ-48. Jeg har sett et par mulige løsninger (selv skriver ut pulssekvensen igjen og igjen), men jeg har ikke vært fornøyd, så jeg bestemte meg for å skrive min egen.

Vi antar at du har en grunnleggende forståelse av 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:

Trinn 1: StepperMotor.h

La oss begynne med å skrive StepperMotor-klassen.

Opprett en fil som heter StepperMotor.h og kopier koden i bildet.

Hvis du har en forståelse av C ++, så vil klassedepartementet snakke for seg selv.

Trinn 2: StepperMotor.cpp

La oss nå skrive klassegrensesnittet.

Opprett en fil som heter StepperMotor.cpp, og kopier koden i bildene.

La oss se på konstruktøren på linje 4. Vi begynner med å tildele brukervalgte pinner til inngangspinnene på linjer 6 til 9. Dette vil gjøre det lettere å få tilgang til pinnumrene i kjørealgoritmen.

På linje 12, itererer vi gjennom inngangspanelet, og stiller hver pin til OUTPUT-modus.

På linje 15, standardiserer du trinnets varighet til 50 ms.

På linje 18 har vi trinnvarighetssetteren. Dette er selvforklarende.

La oss nå se på trinnmetoden. Dette gjør at steppermotoren kan stige antall ganger passert til metoden.

På linje 28 definerer vi rotasjonssekvensen ved hjelp av en 2d-serie. Rynene representerer et trinn, og kolonnene representerer utgangspinnene.

På linje 37 beregner vi faktor, som vil være +1 eller -1, avhengig av tegnet på det bestått antall trinn. Denne verdien er nødvendig i algoritmen for å lede retningen for iterasjon gjennom sekvensarrangementet, dvs. for å endre rotasjonsretningen.

På linje 38, gjør vi noOfSteps positive, som kreves for designet.

På linje 44 begynner vi en sløyfe som vil løpe for hver start av en rotasjonssekvens, dvs. ved starten av hver 8. trinn.

På linje 45 begynner vi en annen sløyfe som itererer gjennom radene i sekvensarrangementet.

På linje 46, forsinker vi når varighet angir.

På linje 47, vi iterate gjennom pin tallene.

På linje 48 skriver vi det digitale signalet til nåværende pin nummer.

Hvis faktoren er negativ, blir sekvensarrangementets rader tilgjengelige i motsatt retning på linje 48 når vi skriver til tappene. 8 trekkes av tellingen av rækken … så vi får tilgang fra bunn til topp.

Trinn 3: Å få tilgang til biblioteket fra Arduino IDE

Nå trenger vi bare å legge til disse filene til arduino IDEs bibliotekskatalog. Dette vil tillate oss å importere det biblioteket i IDE for bruk.

Gå til følgende katalog:

C: Programfiler (x86) Arduino biblioteker

og deretter lage en mappe som heter StepperMotor.

Legg nå.h og.cpp-filene i den opprettede mappen.

Du kan nå importere biblioteket fra IDE. (skisse> importere bibliotek …> StepperMotor)

2 personer gjorde dette prosjektet!

  • johnnyfrx gjorde det!

  • brdavid gjorde det!

Har du gjort dette prosjektet? Del det med oss!

anbefalinger

  • SKY CAM en antennekamera løsning

  • Arduino Air Bonsai Levitation

  • Internett av ting klasse

  • Trebearbeidingskonkurranse

  • Fandom Contest

  • Arduino Contest 2019

8 diskusjoner

0

jplaiss

3 år siden

… Arduino ULNStepper ULNStepper.ino: 2: 26: dødelig feil: StepperMotor.h: Ingen slik fil eller katalog

#inkludere

Holder på å komme opp.

2 svar 0

DikaM2 jplaiss

Svar 3 måneder siden

Jeg tror biblioteket ikke eksisterte i katalogen

0

JeremieL8 jplaiss

Svar 2 år siden

samme her..

0

tahirulhaq

1 år siden

Fantastisk arbeid !!!

0

Drumpeter

2 år siden

Fungerer bra! Er det en mulighet til å la det slå raskere enn 1 trinn per mikrosekund? Hvis jeg forstår det riktig, forstår biblioteket bare heltall. Hvordan kan jeg endre det?

0

jplaiss

3 år siden

Jeg mangler noe her.

Hva skal jeg bruke til å lage.h og.cpp-filer?

Hvordan skal jeg pakke sammen dette for å lage et bibliotek som vil installere i IDE?

Jeg har så langt laget to notisblokkdokumenter som når de er merket med suffiksene, er det samme som et annet bibliotek jeg har. Jeg har forsøkt å sette inn disse dokumentene i en hovedfil, plassert dem inn i en annen fil i hoveddelen, hadde dem på samme nivå som testkoden og juggled biter av dette i noen iterasjoner.

Vennligst hjelp.

0

functionaldesign

3 år siden

Veldig fin informasjon! Jeg fikk endelig denne steppen å løpe. Jeg vil gjerne bruke knappene til å kontrollere hastigheten / omdreiningstiden. Hvilken verdi må endres for å få det til å gå raskere? Jeg kan gjøre det gå tregere ved å endre verdien i motor.setStepDuration (1), men hva med raskere?

0

Billdwp

3 år siden på trinn 2

Strålende, utmerket, hjelpsomt; Takk skal du ha!