- Potrebne komponente
- Pin opis koračnega motorja
- Shema vezja za nadzor koračnega motorja z uporabo modula ULN2003
- Shema vezja za nadzor koračnega motorja z modulom L293D:
- Nadzor koračnega motorja z AVR ATmega16
Koračni motorji so enosmerni brezkrtačni motorji, ki se v korakih lahko vrtijo od 0 0 do 360 0. Koračni motor uporablja elektronske signale za rotacijo motorja v korakih in vsak signal vrti gred s fiksnim korakom (en korak). Vrtilni angel se nadzoruje z uporabo določenega zaporedja signalov. Za razliko od servo motorja lahko koračne motorje poganjamo z uporabo GPIO nožic mikrokrmilnika in ne PWM nožic ter se lahko vrtijo v (+360 0) in (-360 0). Vrstni red signalov določa smer koračnega motorja v smeri urnega kazalca in v nasprotni smeri urnega kazalca. Za nadzor hitrosti motorja moramo samo spremeniti hitrost uporabljenih krmilnih signalov. Koračni motorji se vrtijo v korakih. Obstaja več načinov korakov za upravljanje koračnega motorja, kot so polni korak, pol korak in mikro korak. Če želite izvedeti več o osnovah, teoriji in principu koračnega motorja, sledite povezavi.
Stepper motor smo predhodno povezali z mnogimi mikrokrmilniki:
- Povezava koračnega motorja z ARM7-LPC2148
- Povezava koračnega motorja z Arduino Uno
- Povezava koračnega motorja z MSP430G2
- Povezava koračnega motorja s STM32F103C8
- Povezava koračnega motorja z mikrokrmilnikom PIC
- Povezava koračnega motorja z mikrokrmilnikom 8051
- Povezava koračnega motorja z Raspberry Pi
V tej vadnici bomo s pomočjo Atmel Studio 7.0 povezali koračni motor 28BYJ-48 z mikrokrmilnikom Atmega16 AVR. Koračni motor je ocenjen na 5V napetosti. Koračni motor bomo povezali z gonilniki motorjev, tj. ULN2003 in L293. Oboje bo napajalo napajanje 5V. Za poenostavitev povezovanja uporabljamo modul prebuild obeh pogonskih gonilnikov. Uporabite lahko tudi samostojne IC-je ULN2003 in L293D. Število žic in mostičkov je lahko večje, zato bodite previdni pri povezovanju vseh povezav.
Potrebne komponente
- Koračni motor (28BYJ-48)
- Modul ULN2003 / gonilnik motorja L293D
- IC mikrokrmilnik Atmega16
- Kristalni oscilator 16 MHz
- Dva kondenzatorja 100nF
- Dva kondenzatorja 22pF
- Pritisni gumb
- Jumper žice
- Breadboard
- USBASP v2.0
- Led (poljubne barve)
Pin opis koračnega motorja
Shema vezja za nadzor koračnega motorja z uporabo modula ULN2003
Pri uporabi ULN2003 priključite vse komponente, kot je prikazano na spodnjem diagramu. Podobno ga bomo v naslednjem koraku povezali z L293D. Za povezovanje koračnega motorja za oba gonilnika motorja uporabljamo PORTA Atmega16. 5V koračnega motorja ni treba priključiti. Za premikanje koračnega motorja so potrebni samo tuljave. Vrstni red zatičev je zelo pomemben za pogon koračnega motorja, saj bi morale biti napetosti tuljav za dosego stopnic. V tem projektu so uporabljeni štirje vhodi ULN2003 in štirje izhodi ULN2003. Vhodi bodo priključeni na zatiče PORTA, izhodi pa na signalne zatiče koračnega motorja. Po potrebi priključite tudi en gumb v Ponastavi pin za ponastavitev Atmega16. Atmega16 povežite z ustreznim kristalnim oscilatorjem. Ves sistem bo napajal 5V napajalnik.
Spodaj je dejanska slika modula motornega voznika ULN2003:
Spodaj smo podali Atmega16 pin povezave z ULN2003 in L293D za vrtenje koračnega motorja. Povezava koračnega motorja z modulom L293D je pojasnjena v nadaljevanju, ne pozabite, da je za nadzor koračnega motorja potreben le en modul ULN2003 ali L293D.
Pin priključki za INPUT so naslednji:
Atmega16 |
ULN2003 |
L293D |
A0 |
IN1 (PIN1) |
IN1 (PIN2) |
A1 |
IN2 (PIN2) |
IN2 (PIN7) |
A2 |
IN3 (PIN3) |
IN3 (PIN10) |
A3 |
IN4 (PIN4) |
IN4 (PIN15) |
Zatični priključki za IZHOD so naslednji:
Koračni motor |
ULN2003 |
L293D |
Oranžna |
IZHOD1 (PIN16) |
IZHOD1 (PIN3) |
Rumena |
IZHOD2 (PIN15) |
IZHOD2 (PIN6) |
Roza |
IZHOD3 (PIN14) |
IZHOD3 (PIN11) |
Modra |
IZHOD4 (PIN13) |
IZHOD4 (PIN14) |
Shema vezja za nadzor koračnega motorja z modulom L293D:
Nadzor koračnega motorja z AVR ATmega16
Kot že rečeno, za razliko od servo motorja koračni motorji potrebujejo zunanje gonilnike, npr. Gonilnik motorja ULN2003 ali L293D. Torej samo povežite vezje kot zgoraj in naložite program main.c, ki je naveden na koncu.
Skica prikazuje koračni motor, ki se vrti v obeh straneh, tj. V smeri urinega kazalca in v nasprotni smeri urnega kazalca. Če želite stopnico zasukati v eno smer, na skici preprosto komentirajte kodne črte druge smeri.
Popolna AVR koda za nadzor koračnega motorja je navedena spodaj. Koda je preprosta in jo je mogoče enostavno razumeti. Spodaj sta navedeni dve kodi, ena za vrtljivi koračni motor z ULN2003 in druga z modulom L293D.
Povežite svoj USBASP v2.0 in sledite navodilom na tej povezavi za programiranje mikrokrmilnika Atmega16 AVR z uporabo USBASP in Atmel Studio 7.0. Samo zgradite skico in jo naložite z uporabo zunanje orodjarne.
Popolna koda z demonstracijskim videom je navedena spodaj.