- Askelmoottorit:
- Askelmoottorin vaiheiden laskeminen kierrosta kohden:
- Miksi tarvitsemme ohjainmoduuleja Stepper-moottoreille?
- Arduino-askelmoottorin asennonohjauspiirikaavio ja selitys:
- Arduino Boardin koodi:
- Askelmoottorin työskentely Arduinon kanssa:
Askelmoottorit ottavat yhä enemmän asemaansa elektroniikan maailmassa. Alkaen normaalista valvontakamerasta monimutkaisiin CNC-koneisiin / robotteihin, näitä askelmoottoreita käytetään kaikkialla toimilaitteina, koska ne tarjoavat tarkan ohjauksen. Askelmoottori on harjaton, synkronimoottori, joka suorittaa täydellisen pyörimisen useiksi vaiheiksi. Tässä Arduino askelmoottori opetusohjelma saamme oppia yleisimmin saatavilla askelmoottori 28-BYJ48 ja miten käyttöliittymä sitä Arduino käyttää ULN2003 askelmoottori moduuli.
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. Voit oppia lisää askelmoottoreiden toiminnasta ARM LPC2148: n, ATMega16-mikrokontrollerin, MSP430: n kanssa.
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.
Arduino-askelmoottorin asennonohjauspiirikaavio ja selitys:
Arduino-askelmoottorin ohjausprojektin piirikaavio 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.
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 Diver-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 virtaa kulloinkin. Video, joka näyttää energisointisekvenssin, on tämän opetusohjelman lopussa.
Tässä opetusohjelmassa aiomme kirjoittaa arduino-askelmoottorikoodin ja sitä varten ohjelmoimme Arduinon siten, että voimme syöttää askelmoottorin suorittamien vaiheiden määrän Arduinon sarjavalvojan kautta. 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);
Jotta voisimme saada moottorin liikkumaan yksi askel, voimme käyttää seuraavaa riviä.
stepper.step (val);
Liikkuvien vaiheiden määrän antaa muuttuja “val”. Koska välityssuhteena on 32 askelta ja 64, meidän on siirryttävä 2048 (32 * 64 = 2048) yhden pyörimisen suorittamiseksi.
Käyttäjä voi syöttää muuttujan "val" arvon sarjamonitorilla.
Askelmoottorin työskentely Arduinon kanssa:
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, joudumme tekemään 2048 vaihetta yhden täydellisen pyörimisen suorittamiseksi, joten kun tulemme sisään 2048, moottori pyörittää yhden täydellisesti myötäpäivään tekemällä 2048 vaihetta. Kierrä vastapäivään kirjoittamalla numero miinusmerkillä “-”. Joten, syöttämällä -1024 saa moottorin pyörimään puolivälistä vastapäivään. Voit syöttää haluamasi arvot, kuten syöttämällä yhden, moottori saa vain yhden askeleen.
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 foorumien alla olevaan kommenttiosioon.