- Askelmoottorit:
- Askelmoottorin vaiheiden laskeminen kierrosta kohden:
- Miksi tarvitsemme ohjainmoduuleja Stepper-moottoreille?
- Piirikaavio pyörivää askelmoottoria varten potentiometrillä:
- Arduino Boardin koodi:
- Työskentely:
Askelmoottorit ottavat yhä enemmän asemaansa elektroniikan maailmassa. Näitä askelmoottoreita käytetään normaalista valvontakamerasta monimutkaisiin CNC-koneisiin / robotteihin aina toimilaitteina, koska ne tarjoavat tarkan ohjauksen. Tässä opetusohjelmassa aiomme oppia yleisimmin / edullisesti saatavilla askelmoottori 28-BYJ48 ja miten käyttöliittymä sitä Arduino käyttää ULN2003 askelmoottori moduulia.
Viimeisessä projektissamme olemme yksinkertaisesti liittäneet askelmoottorin Arduinoon, jossa voit kääntää askelmoottoria syöttämällä kiertokulman Arduinon sarjamonitorissa. Tässä projektissa pyöritämme askelmoottoria potentiometrillä ja Arduinolla, kuten jos käännät potentiometriä myötäpäivään, stepperi pyörii myötäpäivään ja jos käännät potentiometriä vastapäivään, se pyörii vastapäivään.
Askelmoottorit:
Katsotaanpa tätä 28-BYJ48-askelmoottoria.
Okei, joten toisin kuin normaalissa tasavirtamoottorissa, tässä on viisi johtoa kaikilla hienoilla väreillä ja miksi se on niin? Tämän ymmärtämiseksi meidän on ensin tiedettävä, kuinka stepper toimii ja mikä on sen erikoisuus. Ensinnäkin askelmoottorit eivät pyöri, vaan askeleet, joten ne tunnetaan myös askelmoottoreina. Eli ne liikkuvat vain yhden askeleen kerrallaan. Näissä moottoreissa on sekvenssi keloja, ja nämä kelat on kytkettävä tietyllä tavalla jännitteeseen, jotta moottori pyörii. Kun kutakin kelaa kytketään jännitteeseen, moottori ottaa askeleen ja energisointijärjestys saa moottorin jatkamaan vaiheita, jolloin se pyörii. Katsotaanpa moottorin sisällä olevia keloja, jotta tiedämme tarkalleen, mistä nämä johdot tulevat.
Kuten näette, moottorissa on Unipolar 5-johdin kela. On neljä kelaa, jotka on kytkettävä jännitteeseen tietyssä järjestyksessä. Punaiset johdot toimitetaan + 5 V: lla ja loput neljä johtoa vedetään maahan vastaavan kelan laukaisemiseksi. Käytämme mikro-ohjainta, kuten Arduino, virtalähteenä nämä kelat tietyssä järjestyksessä ja saamme moottorin suorittamaan tarvittavan määrän vaiheita.
Joten nyt, miksi tätä moottoria kutsutaan 28-BYJ48: ksi ? Vakavasti!!! Minä en tiedä. Tälle moottorille ei ole teknistä syytä nimetä; ehkä meidän pitäisi sukeltaa siihen paljon syvemmälle. Katsotaanpa joitain tärkeitä teknisiä tietoja, jotka on saatu tämän moottorin datalehdestä alla olevassa kuvassa.
Se on pää, joka on täynnä tietoa, mutta meidän on tarkasteltava muutamia tärkeitä, jotta voimme tietää, minkä tyyppisiä askelmia käytämme, jotta voimme ohjelmoida sen tehokkaasti. Ensinnäkin tiedämme, että se on 5 V: n askelmoottori, koska me virtaa punaista johtoa 5 V: lla. Sitten tiedämme myös, että se on nelivaiheinen askelmoottori, koska siinä oli neljä kelaa. Nyt välityssuhteen annetaan olevan 1:64. Tämä tarkoittaa, että akseli, jonka näet ulkopuolella, pyörittää täydellisesti vain, jos sisällä oleva moottori pyörii 64 kertaa. Tämä johtuu moottorin ja lähtöakselin väliin kytketyistä hammaspyöristä, jotka auttavat lisäämään vääntömomenttia.
Toinen tärkeä huomioitava tieto on juoksukulma: 5.625 ° / 64. Tämä tarkoittaa, että moottori, kun se toimii 8-vaiheisessa järjestyksessä, liikkuu 5,625 astetta kussakin vaiheessa ja se vie 64 vaihetta (5,625 * 64 = 360) yhden täyden kierroksen suorittamiseksi.
Askelmoottorin vaiheiden laskeminen kierrosta kohden:
On tärkeää tietää, kuinka askelmoottori lasketaan askelta kohti vallankumousta, koska vasta sitten voit ohjelmoida sen tehokkaasti.
Arduinossa käytämme moottoria 4-vaiheisessa järjestyksessä, joten askelmakulma on 11,25 °, koska se on 5,625 ° (ilmoitettu tietolomakkeessa) 8-vaiheiselle jaksolle 11,25 ° (5,625 * 2 = 11,25).
Askeleet kierrosta kohti = 360 / askelkulma
Tässä 360 / 11,25 = 32 askelta kierrosta kohden.
Miksi tarvitsemme ohjainmoduuleja Stepper-moottoreille?
Useimmat askelmoottorit toimivat vain ohjainmoduulin avulla. Tämä johtuu siitä, että ohjainmoduuli (meidän tapauksessamme Arduino) ei pysty tuottamaan tarpeeksi virtaa I / O-nastoistaan moottorin toimintaan. Joten käytämme ulkoista moduulia, kuten ULN2003- moduulia, askelmoottorin ohjaimena. Ohjainmoduuleja on monen tyyppisiä, ja yhden luokitus muuttuu käytetyn moottorin tyypin mukaan. Kaikkien ohjainmoduulien ensisijainen periaate on hankkia / upottaa riittävästi virtaa moottorin toimintaan.
Piirikaavio pyörivää askelmoottoria varten potentiometrillä:
Potentiometriä ja Arduinoa käyttävän askelmoottorin ohjauspiirikaavio on esitetty yllä. Olemme käyttäneet 28BYJ-48-askelmoottoria ja ULN2003-ohjainmoduulia. Askelmoottorin neljän kelan virran saamiseksi käytämme digitaalisia nastoja 8,9, 10 ja 11. Ajurimoduuli saa virtansa Arduino-kortin 5 V: n nastasta. A0: een on kytketty potentiometri, jonka arvoissa pyöritämme Stepper-moottoria.
Virtalähde tulee kuitenkin kytkeä ulkoisella virtalähteellä, kun kytket jonkin verran kuormaa stepimoottoriin. Koska käytän vain moottoria esittelytarkoituksiin, olen käyttänyt Arduino Boardin + 5V kiskoa. Muista myös liittää Arduinon maadoitus Driver-moduulin maahan.
Arduino Boardin koodi:
Ennen kuin aloitamme ohjelmoinnin Arduinolla, anna meidän ymmärtää, mitä todella pitäisi tapahtua ohjelman sisällä. Kuten aiemmin mainittiin, käytämme 4-vaiheista sekvenssimenetelmää, joten meillä on neljä vaihetta yhden täydellisen kierroksen suorittamiseksi.
Vaihe |
Tappi virtaa |
Kelat ovat jännitteisiä |
Vaihe 1 |
8 ja 9 |
A ja B |
Vaihe 2 |
9 ja 10 |
B ja C |
Vaihe 3 |
10 ja 11 |
C ja D |
Vaihe 4 |
11 ja 8 |
D ja A |
Ohjainmoduulissa on neljä LEDiä, joiden avulla voimme tarkistaa, mihin kelaan syötetään kulloinkin. Koko esittelyvideo on tämän opetusohjelman lopussa.
Tässä opetusohjelmassa aiomme ohjelmoida Arduinon siten, että voimme kääntää tapiin A0 kytkettyä potentiometriä ja ohjata Stepper-moottorin suuntaa. Koko ohjelma löytyy opetusohjelman lopusta. Seuraavassa selitetään muutama tärkeä rivi.
Askelmoottorin portaiden määrä kierrosta kohti laskettiin olevan 32; siksi syötämme sen alla olevan rivin osoittamalla tavalla
#define VAIHEET 32
Seuraavaksi sinun on luotava tapauksia, joissa määritämme tapit, joihin olemme liittäneet Stepper-moottorin.
Askelmoottori (STEPS, 8, 10, 9, 11);
Huomaa: Nastojen lukumäärä on tarkoituksellisesti sekaisin 8,10,9,11. Sinun on noudatettava samaa mallia, vaikka vaihdat nastat, joihin moottori on kytketty.
Koska käytämme Arduino-askelmakirjastoa, voimme asettaa moottorin nopeuden alla olevan rivin avulla. Nopeus voi vaihdella välillä 0 - 200 28-BYJ48-askelmoottoreille.
stepper.setSpeed (200);
Seuraavan rivin avulla voimme saada moottorin liikkumaan yhden askeleen myötäpäivään.
stepper.step (1);
Saamme moottorin liikkumaan yksi askel vastapäivään käyttämällä seuraavaa riviä.
stepper.vaihe (-1);
Ohjelmassamme luemme analogisen nastan A0 arvon ja verrataan sitä edelliseen arvoon (Pval). Jos se on kasvanut, siirrymme 5 askelta myötäpäivään ja jos sitä pienennetään, siirretään 5 askelta vastapäivään.
potVal = kartta (analogRead (A0), 0,1024,0500); if (potVal> Pval) stepper.step (5); jos (potVal
Työskentely:
Kun yhteys on muodostettu, laitteiston tulisi näyttää tältä alla olevassa kuvassa.
Lataa nyt alla oleva ohjelma Arduino UNO -laitteeseesi ja avaa sarjamonitori. Kuten aiemmin keskusteltiin, sinun on käännettävä potentiometriä Stepper-moottorin pyörimisen hallitsemiseksi. Kierrä sitä myötäpäivään kääntää askelmoottorin myötäpäivään ja päinvastoin.
Toivottavasti ymmärrät projektin ja nautit sen rakentamisesta. Projektin täydellinen työskentely on esitetty alla olevassa videossa. Jos sinulla on epäilyksiä, lähetä ne alla olevaan kommenttiosioon tai foorumeillemme.