Sisällysluettelo:
- Vaihe 1: Tutustu Steppersiin
- Vaihe 2: Etsi yhteinen perusta
- Vaihe 3: Selvitä askeljärjestys
- Vaihe 4: Moottorin ottaminen koeajoon
- Vaihe 5: Käännä se taaksepäin ja eteenpäin
- Vaihe 6: En koskaan astu puoleen väliin, koska en ole puoliaskel…
- Vaihe 7: Lisää moottoriajuri
- Vaihe 8: Loppu
Video: Aja askelmoottoria AVR -mikroprosessorilla: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Onko sinulla roska -askelmoottoreita tulostimista/levyasemista/jne. Makaamassa?
Jotkut mittaukset ohmetrilla, jota seuraa yksinkertainen ajurikoodi mikroprosessorissasi ja astut tyylikkäästi.
Vaihe 1: Tutustu Steppersiin
Periaatteessa sinun on selvitettävä, minne kaikki pienet johdot menevät.
Ensimmäinen askel on selvittää, onko se yksinapainen vai kaksisuuntainen moottori. Katso Jonesista Steppersissä syvempää taustaa ja sitten Ian Harriesin sivustolta yksinkertainen menetelmä tuntemattoman moottorin selvittämiseksi. Lue hiukan ja liity kanssani esittelyyn tästä moottorista, jonka sain halvalla. (Niitä myydään tällä hetkellä 0,99 dollarilla. Ne ovat pieniä, suhteellisen kevyitä, mutta niillä ei ole paljon vääntöä. En tiedä vielä, mihin se sopii.)
Vaihe 2: Etsi yhteinen perusta
Joten sinulla on viisi (tai neljä tai kuusi) johtoa. Moottorissasi on kaksi puoliskoa, ja luultavasti voit jopa kertoa vain katsomalla, kummalle puolelle kukin lanka kuuluu.
Jos katsot vain neljää johtoa, olet onnekas - se on kaksisuuntainen moottori. Sinun tarvitsee vain selvittää, mitkä kaksi johtoparia menevät yhteen. Jos sinulla on yksinapainen moottori tai yli 4 johtoa, joudut rikkomaan ohmimittarin. Mitä etsit, on yhteinen (maadoitus) johto kummallekin puolelle. Voit kertoa, mikä on maadoitettu bipolaarisessa moottorissa, koska sillä on puolet vastusta kumpaakaan napaa vastaan kuin napoissa. Kuvassa on muistiinpanoni johtojen liittämisestä johtoihin ja vastuksen huomioiminen (tai jos ne on kytketty ollenkaan). Näet, että valkoinen on pohja alimpalle kolmikolle b/c sillä on puolet punaisen tai sinisen vastustuskyvystä. (Tämä moottori on outo, eikä siinä ole keskikohtaa ylemmässä magneettikäämisessä. Se on kuin puoli-kaksisuuntainen, puoliksi yksinapainen. Ehkä voisit käyttää tätä havaitsemaan pyörimisen puna-valko-sinisessä kelassa, kun musta-keltainen kelaa ajetaan.)
Vaihe 3: Selvitä askeljärjestys
Aioin ajaa tätä moottoria kaksisuuntaisena moottorina, joten jätän huomiotta valkoisen maadoitusjohdon. Minulla on vain neljä johtoa huolestuttavana.
Saatat haluta käyttää yksinapaista moottoriasi bipolaarisena joka tapauksessa, koska se käyttää koko kelaa molemmissa vaiheissa sen sijaan, että vaihtaisi kunkin kelan kahden puoliskon välillä. Enemmän kelaa = enemmän vääntöä. Juokse virta parin läpi (huomioi valitsemasi napaisuus) ja juokse sitten virta toisen parin läpi samanaikaisesti. Kun kytket toisen parin, katso, mihin suuntaan moottori pyörii. Kirjoita tämä muistiin. Käännä nyt napaisuus ensimmäiselle valitsemallesi parille. Kytke sitten toinen pari uudelleen niiden napaisuuden ollessa päinvastainen. Huomaa suunta. Tästä sinun pitäisi pystyä selvittämään moottorin pyörimissuunta kumpaankin suuntaan. Esimerkissäni molemmat päätyivät kääntymään vastapäivään, joten vaiheen läpikäyminen samalla tavalla kuin valitsin, liikuttaa moottoria CCW.
Vaihe 4: Moottorin ottaminen koeajoon
Jos et ole jo liian valmis mikroprosessoriohjelmointiin, voit tehdä huonommin kuin Ghetto Development Kit tai jokin muu PIC -ohjelmoija. Liitä johdot suoraan mikroprosessiisi ja polta se seuraavalla koodilla:
/* Leikkiminen pienillä askelmoottoreilla. */
/ * Include delay function */ #define F_CPU 1000000UL #include/ * Pin defs for ATTiny2313 *// * myötäpäivään järjestys */ #define BLUE _BV (PB0) #define BLACK _BV (PB1) #define RED _BV (PB2) #define KELTAINEN _BV (PB3) #define DELAY 200 / * millisekuntia vaiheiden välillä * / int main (void) {DDRB = 0xff; / * Ota lähtö käyttöön kaikissa B -nastoissa */ PORTB = 0x00; / * Aseta ne kaikki arvoon 0v */ while (1) {/ * pääsilmukka tässä */ PORTB = SININEN; _viive_ms (DELAY); PORTB = MUSTA; _viive_ms (DELAY); PORTB = PUNAINEN; _viive_ms (DELAY); PORTB = KELTAINEN; _viive_ms (DELAY); }} Kuinka yksinkertainen koodi on? Todella yksinkertaista. Kaikki se tekee vain hienoja määritelmiä, jotta voisin viitata johtoihin värin sijaan niiden pin-nimien sijaan, ja sitten se kytkee ne päälle järjestyksessä säädettävän viiveen välillä. Aloittelijaksi valitsin puolen sekunnin viive vaiheiden välillä. Katso tulokset lyhyeltä videolta. Jos olet todella pelissäsi, laske moottorin yhden askeleen kulmatarkkuus laskemalla vaiheiden määrä jaksoa kohti. (Voi kyllä. PS. Aja helposti ilman kuormitusta 3,6 voltilla. Katso akku videolta.)
Vaihe 5: Käännä se taaksepäin ja eteenpäin
Joten pyörität sitä myötäpäivään. Onko mitään mielenkiintoisempaa? Pieni koodinpuhdistus, ja voimme suorittaa sen edestakaisin. Laitoin myötäpäivään sekvenssin taulukkoon, jotta voit siirtyä vaiheiden läpi yksinkertaisella silmukalla. Nyt voit ajaa silmukkaa ylös tai alas siirtyäksesi myötä- tai vastapäivään.
int main (void) {const uint8_t delay = 50; const uint8_t myötäpäivään = {SININEN, MUSTA, PUNAINEN, KELTAINEN}; uint8_t i; DDRB = 0xff; / * Ota lähtö käyttöön kaikissa B -nastoissa */ PORTB = 0x00; / * Aseta ne kaikki arvoon 0v */ while (1) {/ * main loop here */ for (i = 0; i <= 3; i ++) {/ * astu värien läpi myötäpäivään */ PORTB = myötäpäivään ; _viive_ms (viive); } for (i = 3; i> = 0; i-) { / * astu värien läpi ccw * / PORTB = myötäpäivään ; _viive_ms (viive); }}} Katso hurja video takaisin ja vahvistus.
Vaihe 6: En koskaan astu puoleen väliin, koska en ole puoliaskel…
Quest lyriikka syrjään, puolivälissä askel moottorisi on missä se on. Saat enemmän huippuvirtaa, enemmän hetkellistä vääntömomenttia ja kaksinkertaisen kulmatarkkuuden. Puolivaihe pähkinänkuoressa: Sinisen, mustan, punaisen, keltaisen sijaan ajaa moottorilla sinisellä, sinisellä+mustalla, mustalla, mustalla+punaisella, punaisella, punaisella+keltaisella, keltaisella, keltaisella+sinisellä. Lopputulos on, että puolet ajasta käytät molempia magneetteja kerralla. Ja aikana, jolloin molemmat sarjat ovat kytkettynä, moottori osoittaa puolivälissä näiden kahden välillä, pienentää kulmaa "portaiden" välillä ja saa moottorin kääntymään tasaisemmin. Voitko kertoa videosta? En ole varma… Nyt koodin osa, joka tekee puolivälin, näyttää tältä:
void halfStepping (uint16_t viive, uint8_t suunta ) {uint8_t i; for (i = 0; i <= 3; i ++) {PORTB = suunta ; / * yksikelainen osa */ _viive_ms (viive); PORTB | = suunta [i+1]; / * lisää puolivaiheessa */ _viive_ms (viive); }} Ensimmäinen PORTB -komento asettaa yhden navan positiiviseksi ja kaikki muut negatiiviseksi. Sitten se odottaa. Sitten toinen PORTB -komento asettaa toisen napan (toisella käämityksellä) positiiviseksi, kytkemällä molemmat käämit 1,4 -kertaiseen vääntömomenttiin (ja 2x nykyiseen). Alla on luettelo kaikista ohjelmista. Kaksi taulukkoa on nyt määritetty (myötäpäivään, vastapäivään) ja molemmissa on 5 elementtiä, jotka mahdollistavat i+1 -merkinnän halfStepping -toiminnossa.
Vaihe 7: Lisää moottoriajuri
Toistaiseksi niin hyvin.
Ainoa ongelma on, että moottorilla ei näytä olevan niin paljon vääntömomenttia, mikä voi johtua siitä, että mikroprosessori antaa vain ~ 50 mA per nasta. Ilmeinen seuraava askel olisi kytkeä se moottoriajuriin, jotta se toimittaisi enemmän mehua. Mutta sitten vähän ajattelemista: Ajan vain 5 V: n jännitteellä, ja käämin vastus on ~ 125 ohmia. Tämä tarkoittaa, että moottorin ainoa piirustus on 40 mA per pin, ja sen pitäisi toimia hienosti (lihava!) AVR -sirulla. Joten saadaksesi enemmän jännitettä moottorin ohjaamiseen, kytkin sen SN754410 H-siltapiiriin. Piiri on melko yksinkertainen. Jokainen AVR: n nasta menee tuloon ja vastaavat ulostulonapit moottoriin. Siru tarvitsee 5 V: n logiikkaosalle, ja se voi ottaa paljon enemmän jännitettä moottoriosassa. Sen käyttäminen 11,25 voltilla (kolme 3,6 voltin akkua) auttoi hieman. Huomattavasti enemmän vääntöä sormelleni, mutta se ei silti ole voimanpesä. Ei kuitenkaan huono moottori, joka on pienempi kuin nikkeli. Ja nyt piiristä on tullut yleiskäyttöinen kaksisuuntainen askelmoottorin ohjain. Lisätty 29. marraskuuta: Käveli moottoria eilen illalla 12 V: n ajan ja se alkoi kuumentua. En ole varma, oliko se resonanssitaajuusongelma vai oliko se yksinkertaisesti liian suuri virta käämille. Joka tapauksessa ole hieman varovainen, jos ajat tätä pientä moottoria suuremmilla jännitteillä.
Vaihe 8: Loppu
Joten mitä opin? Askelmoottorin ajaminen AVR: llä (ja H-siltapiirillä) on melko helppoa, jopa "hienossa" puoliaskeltilassa.
En ole vielä varma, mitä teen pienillä askelmoottoreilla. Mitään ehdotuksia?
Suositeltava:
Kuinka käyttää 28BYJ-48 askelmoottoria 3 painikkeella: 5 vaihetta
Kuinka käyttää 28BYJ-48 askelmoottoria 3 painikkeella: Haluatko ohjata askelmoottoriasi painikkeilla? Tämä voi tehdä myötäpäivään, vastapäivään ja sitten pysäytystoiminnon? Sitten tämä video on sinua varten
Käytä askelmoottoria kiertokooderina: 9 vaihetta (kuvien kanssa)
Käytä askelmoottoria pyörivänä enkooderina: Kiertokooderit soveltuvat erinomaisesti käytettäväksi mikro -ohjainprojekteissa syöttölaitteena, mutta niiden suorituskyky ei ole kovin tasainen ja tyydyttävä. Lisäksi, kun minulla oli paljon vara -askelmoottoreita, päätin antaa heille tarkoituksen. Joten jos sinulla on stepperi
Aja Roverilla (leluauto) Internetin kautta: 8 vaihetta
Aja Roverilla (leluautolla) Internetin välityksellä: mitä aiot rakentaa Tämä opetusohjelma opettaa sinulle, kuinka rakentaa rover, jota voidaan käyttää matkapuhelimellasi. Se sisältää live -videosyötteen ja ohjauksen käyttöliittymän ajamiseen. Koska roverissa ja puhelimessasi on Internet -yhteys, lelu voi
Vau !! Käytä askelmoottoria ilman ohjainta -- Uusi idea 2018: 4 vaihetta (kuvilla)
Vau !! Käytä askelmoottoria ilman ohjainta || Uusi idea 2018: Hei! Tässä ohjeessa opetan sinulle, kuinka askelmoottoria käytetään jatkuvasti suurella nopeudella ilman ohjainpiiriä tai arduino- tai verkkovirtalähdettä. viisas & laskuri myötäpäivään
Hauki - Aja turvallisemmin, aja älykkäämmin, aja haukalla !: 5 vaihetta
Pike - Aja turvallisemmin, aja älykkäämmin, aja haukalla !: Tervetuloa projektiini nimeltä Pike! Tämä on projekti osana koulutustani. Olen opiskelija NMCT Howestissa Belgiassa. Tavoitteena oli tehdä jotain älykästä käyttämällä Raspberry Pi -laitetta. Meillä oli täydellinen vapaus, jossa halusimme tehdä älykkäitä. Minulle se oli