- Tarvittavat komponentit
- Tapin moottorin kuvaus
- Piirikaavio askelmoottorin ohjaukselle ULN2003-moduulilla
- Piirikaavio askelmoottorin ohjaamiseksi L293D-moduulilla:
- Askelmoottorin ohjaus AVR ATmega16: lla
Askelmoottorit ovat DC-harjattomia moottoreita, jotka voivat kiertää välillä 0 0 - 360 0 vaiheittain. Askelmoottori käyttää elektronisia signaaleja moottorin pyörittämiseen vaiheittain, ja jokainen signaali kiertää akselia kiinteällä lisäyksellä (yksi askel). Pyörimisenkeliä ohjataan soveltamalla tiettyä signaalisekvenssiä. Toisin kuin servomoottori, askelmoottoreita voidaan käyttää käyttämällä mikrokontrollerin GPIO-nastoja PWM-nastojen sijaan ja ne voivat kiertää sisään (+360 0) ja (-360 0). Signaalien järjestys määrää askelmoottorin myötä- ja vastapäivään. Moottorin nopeuden hallitsemiseksi meidän on vain muutettava käytettyjen ohjaussignaalien nopeutta. Askelmoottorit pyörivät vaiheittain. Askelmoottoria voidaan käyttää useissa eri vaiheissa, kuten täys-, puoli- ja mikroportaat. Jos haluat tietää enemmän askelmoottorin perusteista, teoriasta ja toimintaperiaatteista, seuraa linkkiä.
Olemme aikaisemmin liittäneet Askelmoottorin moniin mikro-ohjaimiin:
- Liitäntä askelmoottori ja ARM7-LPC2148
- Yhdistetty askelmoottori Arduino Unon kanssa
- Liitäntäaskelmamoottori MSP430G2: n kanssa
- Liitäntäaskelmamoottori STM32F103C8: n kanssa
- Liitäntäaskelmamoottori PIC-mikrokontrollerilla
- Liitäntäaskelmamoottori 8051-mikrokontrollerilla
- Rajapään Pi: n kanssa toimiva askelmoottori
Tässä opetusohjelmassa liitämme 28BYJ-48- askelmoottorin Atmega16 AVR -mikrokontrolleriin Atmel Studio 7.0: n avulla. Askelmoottori on mitoitettu toimimaan 5 V: n jännitteellä. Yhdistämme askelmoottorin molempiin moottoriohjaimiin eli ULN2003 ja L293. Molempia ohjataan 5 V: n jännitteellä. Rajapinnan yksinkertaistamiseksi käytämme molempien moottoriohjaimien esirakennusmoduulia. Voit käyttää myös erillisiä ULN2003- ja L293D-mikropiirejä. Johtojen ja hyppyjohtimien lukumäärä voi olla enemmän, joten ole varovainen, kun liität kaikki liitännät.
Tarvittavat komponentit
- Askelmoottori (28BYJ-48)
- ULN2003-moduuli / L293D-moottoriohjain
- Atmega16-mikrokontrolleri-IC
- 16MHz kristalloskillaattori
- Kaksi 100nF-kondensaattoria
- Kaksi 22pF-kondensaattoria
- Paina nappia
- Neulalangat
- Leipälauta
- USBASP v2.0
- Led (kaikki värit)
Tapin moottorin kuvaus
Piirikaavio askelmoottorin ohjaukselle ULN2003-moduulilla
Liitä kaikki komponentit alla olevan kaavion mukaisesti, kun käytät ULN2003: ta. Vastaavasti liitämme sen L293D: n avulla seuraavassa vaiheessa. Käytämme Atmega16: n PORTAa askelmoottorin liittämiseen molemmille moottoriohjaimille. Askelmoottorin 5 V: n tapaa ei tarvitse kytkeä. Askelmoottorin liikuttamiseen tarvitaan vain kelatapit. Tappijärjestys on erittäin tärkeä askelmoottorin käyttämisessä, koska kelojen jännitteiden tulisi olla vaiheiden saavuttamiseksi. Neljä ULN2003-tuloa ja neljä ULN2003-lähtöä käytetään tässä projektissa. Tulot kytketään PORTA-nastoihin ja lähdöt kytketään askelmoottorin signaalinappeihin. Liitä myös yksi painike Reset-nastassa Atmega16: n nollaamiseksi tarvittaessa. Liitä Atmega16 asianmukaisella kideoskillaattoripiirillä. Kaikki järjestelmät saavat virtaa 5 V: n virtalähteestä.
Alla on todellinen kuva ULN2003-moottorin ohjainmoduulista:
Alla on annettu Atmega16-nastaliitännät ULN2003: n ja L293D: n kanssa askelmoottorin pyörittämiseksi. Askelmoottorin ja L293D-moduulin liittäminen toisiinsa selitetään myöhemmin, muista, että askelmoottorin ohjaukseen tarvitaan vain yksi moduuli, joko ULN2003 tai L293D.
INPUT-nastaliitännät ovat seuraavat:
Atmega16 |
ULN2003 |
L293D |
A0 |
IN1 (PIN1) |
IN1 (PIN2) |
A1 |
IN2 (PIN2) |
IN2 (PIN7) |
A2 |
IN3 (PIN3) |
IN3 (PIN10) |
A3 |
IN4 (PIN4) |
IN4 (PIN15) |
OUTPUT-nastaliitännät ovat seuraavat:
Askelmoottori |
ULN2003 |
L293D |
Oranssi |
OUT1 (PIN16) |
OUT1 (PIN3) |
Keltainen |
OUT2 (PIN15) |
OUT2 (PIN6) |
Vaaleanpunainen |
OUT3 (PIN14) |
OUT3 (PIN11) |
Sininen |
OUT4 (PIN13) |
OUT4 (PIN14) |
Piirikaavio askelmoottorin ohjaamiseksi L293D-moduulilla:
Askelmoottorin ohjaus AVR ATmega16: lla
Kuten jo toisin kuin Servomoottori, Stepper-moottorit tarvitsevat ulkoisia ohjaimia, esim. ULN2003 tai L293D. Liitä siis vain piiri kuten yllä ja lataa lopussa annettu main.c-ohjelma.
Piirros osoittaa askelmoottorin pyörivän molemmin puolin eli myötä- ja vastapäivään. Jos haluat kiertää portaikkoa yhteen suuntaan, kommentoi luonnoksessa toisen suunnan koodirivit.
Täydellinen AVR-koodi askelmoottorin ohjaamiseksi on annettu alla. Koodi on yksinkertainen ja helposti ymmärrettävä. Alla on kaksi koodia, yksi pyörivälle askelmoottorille ULN2003: lla ja toinen L293D-moduulille.
Liitä USBASP v2.0 ja seuraa tämän linkin ohjeita ohjelmoidaksesi Atmega16 AVR -mikrokontrolleri USBASP: n ja Atmel Studio 7.0: n avulla. Rakenna luonnos ja lataa se ulkoisella työkaluketjulla.
Täydellinen koodi esittelyvideolla on annettu alla.